4

我有以下 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”且发型=“bald”的person元素?

我尝试使用:

XElement.XPathSelectElement("//person[@name='shawn'] | //person/hair[@style='bald']

但这给了我对头发元素的引用,而不是人元素。

提前致谢 :)

彼得

4

1 回答 1

9

如果你想要一个既叫肖恩又秃头的人(你的问题标题暗示了这一点),你想要:

//person[@name='shawn' and hair/@style='bald']

如果您想要被称为肖恩或秃头的人(看起来您可能会从您的问题的尝试中做到这一点),您想要:

//person[@name='shawn' or hair/@style='bald']
于 2012-06-17T17:26:49.387 回答