如何确定标签是否采用以下格式:Linq To XML中的<Closed />
?
答案 0 :(得分:1)
您可以使用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
的检查。