0
はLinq2XMLでXML文書で使用される名前空間を列挙するにはどうすればよいですか?
var root = XElement.Load("foo.xml");
どのようにXMLファイルで使用される名前空間を列挙することができますがロードXElement
を考えると?
はLinq2XMLでXML文書で使用される名前空間を列挙するにはどうすればよいですか?
var root = XElement.Load("foo.xml");
どのようにXMLファイルで使用される名前空間を列挙することができますがロードXElement
を考えると?
あなたはすべての要素を列挙し、その名前空間を抽出する必要がありますので、あなたに直接使用されているすべての名前空間を与えるものは、ありません:
var namespaces = root.DescendantsAndSelf()
.Select(e => e.Name.Namespace)
.Distinct();
これはあなたの要素で使用された唯一の名前空間を与えるだろうドキュメント。ドキュメント内で宣言されているすべての名前空間をリストする場合は、それらが使用されていない場合でも属性によってのみ使用されている場合でも、名前空間宣言を繰り返す必要があります:
var namespaces = root.DescendantsAndSelf()
.Attributes()
.Where(a => a.IsNamespaceDeclaration)
.Select(a => (XNamespace)a.Value)
.Distinct();