如果现有XElement尚不存在,请将其添加到现有XElement中

时间:2010-01-30 03:46:05

标签: c# .net xml linq-to-xml

如何在尝试添加元素之前检查某个元素是否存在?

背景:我有一个XDocument X,其中包含一个子元素Flowers,后面包含一系列元素,每个元素都被命名为{{1} }}。每个Flower已经有2个子元素,我想添加一个名为Flower的第3个元素。但是,我想检查并确保Price元素中没有Price的元素。我怎么做?我甚至需要检查吗?

1 个答案:

答案 0 :(得分:5)

XElement有一个HasElements属性,只要想知道是否存在任何元素就可以使用。

对于你的情况,我会用......

XNamespace ns = "http://mynamespace.com";
bool hasPrice = flowerElement.Element(ns + "Price") == null;

..查看价格元素是否存在。如果没有,您可以添加它。

注意:如果您没有为XML文件设置任何命名空间,则可以使用Namespace.None代替ns