如何根据内容选择XML节点?
时间:2020-03-05 18:43:48 来源:igfitidea点击:
如何使用XPath根据其内容选择XML节点?
如果我例如具有以下xml,我想选择包含Ritchie的<author> -node以获取作者的全名:
<books> <book isbn='0131103628'> <title>The C Programming Language</title> <authors> <author>Ritchie, Dennis M.</author> <author>Kernighan, Brian W.</author> </authors> </book> <book isbn='1590593898'> <title>Joel on Software</title> <authors> <author>Spolsky, Joel</author> </authors> </book> </books>
解决方案
回答
XPath为此:
/books/book/authors/author[contains(., 'Ritchie')]
在C中,以下代码将返回" Ritchie,Dennis M.":
xmlDoc.SelectSingleNode("/books/book/authors/author[contains(., 'Ritchie')]").InnerText;
回答
//author[contains(text(), 'Ritchie')]
回答
/books/book/authors/author[contains(., 'Ritchie')]
或者
//author[contains(., 'Ritchie')]