我有这个 XML:
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book id="ISBN-NUMBER">
<title>
The Autobiography of Benjamin Franklin
</title>
<author type="major">
<first-name>
Benjamin
</first-name>
<last-name>
Franklin
</last-name>
</author>
<price>
8.99
</price>
</book>
<book id="ISBN-NUMBER">
<title>
The Confidence Man
</title>
<author type="major">
<first-name>
Herman
</first-name>
<last-name>
Melville
</last-name>
</author>
<price>
11.99
</price>
</book>
<book id="ISBN-NUMBER">
<title>
The Gorgias
</title>
<author type="major">
<name>
Plato
</name>
</author>
<price>
9.99
</price>
</book>
</bookstore>
如何使用 XPath 读取它?我用过:
XPathDocument doc = new XPathDocument(stream);
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator node = nav.Select("bookstore/book");
while (node.MoveNext())
但是我该如何继续前进呢?我想我需要一个 switch 语句来切换节点是否是标题、作者和价格。如果是书,那么我需要阅读书籍 ID,与作者和类型相同。
最佳答案
我想,您可以使用node.Select('//title')
来获取标题。我不确定这在 C# 中是如何工作的,但常见的 xpath 如下
//bokstore/book
选择书籍节点。//bookstore/book/title
选择标题节点//bookstore/book[n]/*
选择第n个节点的所有子节点。
关于c# - 使用XPath读取xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9293389/