この記事では、 XML 名、 XML 名前空間、 XML 名前空間プレフィックス、および XName クラスと XNamespace クラスについて説明します。
XML 名は、多くの場合、XML プログラミングの複雑さの原因です。 XML 名は、XML 名前空間 (XML 名前空間 URI とも呼ばれます) とローカル名で構成されます。 XML 名前空間は、.NET プログラムの名前空間に似ています。 これにより、要素と属性の名前を一意に修飾して、XML ドキュメントのさまざまな部分間の名前の競合を回避できます。 XML 名前空間を宣言したら、その名前空間内でのみ一意である必要があるローカル名を選択できます。
XML 名のもう 1 つの側面は、XML 名前空間プレフィックスであり、XML 名の複雑さの大部分を引き起こします。 これらのプレフィックスを使用すると、XML 名前空間のショートカットを作成できるため、XML ドキュメントの簡潔さと理解性が高くなります。 ただし、XML プレフィックスの意味はコンテキストによって異なり、複雑さが増します。 たとえば、XML プレフィックス aw
は、XML ツリーの一部にある 1 つの XML 名前空間に関連付けることができ、別の部分では別の名前空間に関連付けられます。
C# で LINQ to XML を使用する利点の 1 つは、XML プレフィックスを使用する必要がない点です。 LINQ to XML が XML ドキュメントを読み込んだり解析したりすると、各 XML プレフィックスは対応する XML 名前空間に解決されます。 その後、名前空間を使用するドキュメントを操作するときは、ほとんどの場合、名前空間プレフィックスではなく、名前空間 URI を使用して名前空間にアクセスします。 開発者が LINQ to XML で XML 名を操作する場合、常に完全修飾 XML 名 (つまり、XML 名前空間とローカル名) を使用します。 ただし、LINQ to XML では、必要に応じて名前空間プレフィックスを操作および制御できます。
Visual Basic リテラルと XML リテラルで LINQ to XML を使用する場合は、名前空間内のドキュメントを操作するときに名前空間プレフィックスを使用する必要があります。
LINQ to XML では、XML 名を表すクラスが XName。 XML 名は LINQ to XML API 全体で頻繁に表示され、XML 名が必要な場合はどこでも、 XName パラメーターが見つかります。 ただし、 XNameを直接操作することはめったにありません。 XName には、文字列からの暗黙的な変換が含まれています。
詳細については、「XNamespace と XName」を参照してください。
.NET