2011-01-12 11 views

答えて

1

XElement.IsEmpty propertyを使用できます。

タグの間には、コンテンツ と 開始と終了タグを含む要素が に考慮されていない。なおなる:リンクMSDNページ上のノートで定義されているためIsEmptyチェックは何の点に注意してください。空の要素。長さのないコンテンツ を持っています。 に開始タグのみが含まれ、終了した空の 要素として表される の要素のみが空であるとみなされます。

次の例を検討し、説明するために:あなたは、ノードIsEmptyともには属性を持っていないことを確認element.Attributes().Any()falseさのチェックを追加したい場合は

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 /> 

を。