c# – XPathNodeIterator从迭代数据中访问子节点
发布时间:2020-12-16 00:05:38 所属栏目:百科 来源:网络整理
导读:?xml version="1.0"?-bookstore book titleaaaa/title -author first-namefirts/first-name last-namelast/last-name /author price8.23/price otherbooks book titlebbb/title price18.23/price /book book titleccc/title price11.22/price /book /otherbo
<?xml version="1.0"?> -<bookstore> <book > <title>aaaa</title> -<author > <first-name>firts</first-name> <last-name>last</last-name> </author> <price>8.23</price> <otherbooks> <book > <title>bbb</title> <price>18.23</price> </book> <book > <title>ccc</title> <price>11.22</price> </book> </otherbooks> </book> </bookstore> 我从xml文件中选择了所有书籍.如何使用XPath为每本书选择标题,作者(名字和姓氏)和价格? xPathDoc = new XPathDocument(filePath); xPathNavigator = xPathDoc.CreateNavigator(); XPathNodeIterator xPathIterator = xPathNavigator.Select("/bookstore//book"); foreach (XPathNavigator book in xPathIterator) { ?? } 解决方法
使用SelectSingleNode()和Value:
XPathDocument xPathDoc = new XPathDocument(filePath); XPathNavigator xPathNavigator = xPathDoc.CreateNavigator(); XPathNodeIterator xPathIterator = xPathNavigator.Select("/bookstore//book"); foreach (XPathNavigator book in xPathIterator) { XPathNavigator nav = book.SelectSingleNode("title"); string title = nav==null ? string.Empty : nav.Value; nav = book.SelectSingleNode("author/first-name"); string authorFirstName = nav==null ? string.Empty : nav.Value; nav = book.SelectSingleNode("author/last-name"); string authorLastName = nav==null ? string.Empty : nav.Value; nav = book.SelectSingleNode("price"); string price = nav==null ? string.Empty : nav.Value;; Console.WriteLine("{0} {1} {2} {3}",title,authorFirstName,authorLastName,price); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |