【发布时间】:2014-03-04 20:46:39
【问题描述】:
我想检查是否存在具有特定值的 xml 元素。找到了很多例子,但这些都有多个子节点,但我的没有。
这是我的 XML:
<?xml version='1.0' encoding='UTF-8'?>
<data>
<cocktail>1</cocktail>
<cocktail>2</cocktail>
<cocktail>3</cocktail>
</data>
C#:(变量name包含我要检查它是否存在的值)
XDocument doc = XDocument.Load(stream, LoadOptions.None);
bool b = (from cocktail in doc.Root.Elements("data")
where (bool)cocktail.Name.Equals(name) select cocktail).Any();
【问题讨论】:
-
所以你只想知道“鸡尾酒”元素是否存在?为什么不简单地使用 SelectXmlNodes(".//cocktail") 并检查计数?
-
好的,也许我不清楚,但我想检查元素
cocktail是否存在,value存储在name中 -
您使用
doc.Root.Elements("data")的典型错误,因为 doc.Root 已经是data元素。我自己也被那个咬了。
标签: c# xml windows-phone-8 linq-to-xml