如何在xml中找到单个子节点
本文关键字:单个 子节点 xml | 更新日期: 2023-09-27 18:02:45
<bookstore>
<book>
<title>bob</title>
<author>fred</author>
</book>
...
使用c# XmlTextReader
,如何仅在书名为bob
时打印出作者?
您可以使用XmlDocument
- 为"book"使用getElementByTagName
- 遍历元素并使用condition获取包含"BOB"的正确标题
- 从父图书节点获取作者值。
可以使用xpath查找节点:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("yourfile.xml");
string path = "/bookstore/book[title='bob']"; // find the book node only when the book title is bob
XmlNode node = xmlDoc.SelectSingleNode(path); // get the book node
string author = node.SelectSingleNode("author").InnerText; // find the author node, return its inner text
如果book title的值不是唯一的,则可以使用XmlDocument。SelectNodes代替。
XmlNodeList books = xmlDoc.SelectNodes(path); // find all books whose title is bob
foreadh(XmlNode book in books)
{
string author = node.SelectSingleNode("author").InnerText;
...
}