C# 如果现有XElement没有';不存在

C# 如果现有XElement没有';不存在,c#,.net,xml,linq-to-xml,C#,.net,Xml,Linq To Xml,在尝试添加元素之前,如何检查元素是否存在于给定元素中 Background:我有一个XDocumentX,它作为子元素Flowers包含一系列元素,每个元素都被命名为Flower。每个Flower已经有2个子元素,我想添加第三个元素Price。但是,我想检查并确保Flower元素中没有Price元素。我该怎么做?我甚至需要检查吗?XElement有一个HasElements属性,如果只想知道是否存在任何元素,该属性就可以工作 对于你的情况,我会用 XNamespace ns = "http://

在尝试添加元素之前,如何检查元素是否存在于给定元素中


Background:我有一个
XDocument
X
,它作为子元素
Flowers
包含一系列元素,每个元素都被命名为
Flower
。每个
Flower
已经有2个子元素,我想添加第三个元素
Price
。但是,我想检查并确保
Flower
元素中没有
Price
元素。我该怎么做?我甚至需要检查吗?

XElement
有一个
HasElements
属性,如果只想知道是否存在任何元素,该属性就可以工作

对于你的情况,我会用

XNamespace ns = "http://mynamespace.com";
bool hasPrice = flowerElement.Element(ns + "Price") == null;
…以查看价格元素是否存在。如果没有,您可以添加它


注意:如果没有为XML文件设置任何名称空间,则可以使用
名称空间。无
而不是
ns

对,但每个
Flower
元素都有2个子元素。我试图查看名为
Price
的元素是否已经作为子元素存在。“我怎样才能做到不抛出异常?”本,我进一步编辑了我的答案。这不应该引发异常。@Ben,
ns
Price
元素的XML命名空间。它通常只是默认名称空间。我将添加一个示例,说明如何在我的答案中设置
ns
。XNamespace是否会在此处重载加号运算符??