<?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>
我想选择不同层次的所有书籍,然后显示每个书籍(作者,书名和价格)的相关信息。目前,代码还会显示第一本书的其他书籍。什么是仅显示所需信息的最佳方式。 我需要使用XPath。xpath显示来自不同层次的节点的数据
xPathDoc = new XPathDocument(filePath);
xPathNavigator = xPathDoc.CreateNavigator();
XPathNodeIterator xPathIterator = xPathNavigator.Select("/bookstore//book");
foreach (XPathNavigator navigator in xPathIterator)
{
XPathNavigator clone = navigator.Clone();
clone.MoveToFirstChild();
Console.WriteLine(clone.Name + " : " + clone.Value);
while (clone.MoveToNext())
{
Console.Write(clone.Name + " : " + clone.Value + " | ");
}
}
你是什么意思与“不同层次”?你的选择器检索' '元素在' '以下的所有级别。你不想要选择“书/其他书/书”吗? –
hielsnoppe
我想要选择所有的书籍,但我想显示有关每本书的信息,此刻第一本书还包括信息,然后再次显示在自己的 –
witpo
那么是你目前的解决方案打破,或者你想要改善它?我认为你目前的选择器应该能够实现你所描述的。 – hielsnoppe