命名空间概述(LINQ to XML)

本文介绍 XML 名称XML 命名空间XML 命名空间前缀XNameXNamespace类。

XML 名称通常是 XML 编程中复杂性的来源。 XML 名称由 XML 命名空间(也称为 XML 命名空间 URI)和本地名称组成。 XML 命名空间类似于 .NET 程序中的命名空间。 它使你能够唯一限定元素和属性的名称,以避免 XML 文档的各个部分之间的名称冲突。 声明 XML 命名空间后,可以选择一个仅必须在该命名空间中唯一的本地名称。

XML 名称的另一个方面是 XML 命名空间前缀,这会导致 XML 名称的大部分复杂性。 通过这些前缀,可以创建 XML 命名空间的快捷方式,从而使 XML 文档更加简洁且易于理解。 但是,XML 前缀的含义取决于上下文,这增加了复杂性。 例如,XML 前缀 aw 可以与 XML 树的一部分的一个 XML 命名空间相关联,在另一个部分与不同的命名空间相关联。

将 LINQ to XML 与 C# 配合使用的优点之一是无需使用 XML 前缀。 当 LINQ to XML 加载或分析 XML 文档时,每个 XML 前缀都会解析为其相应的 XML 命名空间。 之后,使用使用命名空间的文档时,几乎总是通过命名空间 URI 访问命名空间,而不是通过命名空间前缀访问命名空间。 当开发人员在 LINQ to XML 中使用 XML 名称时,他们始终使用完全限定的 XML 名称(即 XML 命名空间和本地名称)。 但是,LINQ to XML 允许根据需要使用和控制命名空间前缀。

将 LINQ to XML 与 Visual Basic 和 XML 文本配合使用时,在使用命名空间中的文档时,必须使用命名空间前缀。

在 LINQ to XML 中,表示 XML 名称的类为 XName。 XML 名称在整个 LINQ to XML API 中经常出现,无论需要 XML 名称在哪里,都会找到一个 XName 参数。 但是,很少会直接使用 XNameXName 包含来自字符串的隐式转换。

有关详细信息,请参阅 XNamespaceXName