使用XPath读取xml
本文关键字:xml 读取 XPath 使用 | 更新日期: 2023-09-27 18:24:35
我有这个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())
但是我该如何离开这里呢?如果节点是title、author和price,我想我需要一个swtich语句来swtich。如果是书,那么我需要阅读图书id,与作者和类型相同。
我想您可以使用node.Select('//title')
来获取标题。我不确定这在C#中是如何工作的,但常见的xpath如下
//bokstore/book
选择书本节点//bookstore/book/title
选择标题节点- CCD_ 4选择第n个节点的所有子节点