如何确定标签是否为以下格式: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/

10-13 07:57