如何确定标签是否为以下格式:Linq To XML中的<Closed />
?
最佳答案
您可以使用XElement.IsEmpty property。请注意IsEmpty
根据链接的MSDN页面上的注释所定义的检查内容:
请注意,包含
没有内容的开始和结束标签
标签之间不被认为
是一个空元素。它有内容
没有长度。只有一个元素
仅包含一个开始标签,并且是
表示为终止的空
元素,被认为是空的。
为了说明,请考虑以下示例:
var xml = XElement.Parse(@"<root>
<pair>foo</pair>
<pair></pair>
<single id=""42"" />
<single />
</root>");
foreach (var element in xml.Elements())
{
Console.WriteLine("{0}: {1}", element.IsEmpty, element);
}
// False: <pair>foo</pair>
// False: <pair></pair>
// True: <single id="42" />
// True: <single />
如果要检查节点
IsEmpty
并且也没有属性,请添加对element.Attributes().Any()
为false
的检查。关于c# - 在LINQ to XML中检查单独节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4664232/