命名空间概述 (LINQ to XML)
本文介绍 xml 名称、xml 命名空间、xml 命名空间前缀以及 XName 和 XNamespace 类。
XML 名称常常是导致 XML 编程复杂性的原因。 XML 名称由 XML 命名空间(也称为 XML 命名空间 URI)和本地名称组成。 XML 命名空间类似于 .NET 程序中的命名空间。 它使您能够唯一限定元素和属性的名称,以避免 XML 文档各个部分之间的名称冲突。 声明 XML 命名空间后,可以选择只需在此命名空间内唯一的本地名称。
XML 名称的另一个方面是 XML 命名空间前缀,这将导致 XML 名称的大部分复杂性。 这些前缀可用来创建 XML 命名空间的快捷方式,从而使 XML 文档更加简洁易懂。 但是,XML 前缀的含义取决于上下文,增加了复杂性。 例如,XML 前缀 aw
可以与 XML 树的一部分中的一个 XML 命名空间关联,也可以与另一部分中的另一个命名空间关联。
通过 C# 使用 LINQ to XML 的一个优点是您无须使用 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。