我有以下XML文件:
<persons>
<person name="shawn">
<age>34</age>
<hair style="spikes">red</hair>
</person>
<person name="mike">
<age>36</age>
<hair style="bald">red</hair>
</person>
<person name="shawn">
<age>38</age>
<hair style="bald">red</hair>
</person>
</persons>
在C#中使用XPath,是否可以选择名称为“Shawn”的person元素,以及hair style =“bald”?
我尝试使用:
XElement.XPathSelectElement("//person[@name='shawn'] | //person/hair[@style='bald']
但是这给了我一个hair元素的引用,而不是person元素。
提前致谢:)
彼得
答案 0 :(得分:9)
如果你想要一个既被称为shawn又有秃头的人(你的问题标题建议),你想要:
//person[@name='shawn' and hair/@style='bald']
如果你想要被称为肖恩或秃头的人(看起来你可能会在你的问题中尝试),你想要:
//person[@name='shawn' or hair/@style='bald']