命名空間總覽 (LINQ to XML) Namespaces overview (LINQ to XML)

本文介紹 xml 名稱xml 命名空間、 xml 命名空間前置詞,以及 XNameXNamespace 類別。This article introduces XML names, XML namespaces, XML namespace prefixes, and the XName and XNamespace classes.

XML 名稱通常是 XML 程式設計中的複雜性來源。XML names are often a source of complexity in XML programming. XML 名稱包含 XML 命名空間 (也稱為 XML 命名空間 URI) 和區域名稱。An XML name consists of an XML namespace (also called an XML namespace URI) and a local name. XML 命名空間類似于 .NET 程式中的命名空間。An XML namespace is similar to a namespace in a .NET program. 它可讓您唯一限定專案和屬性的名稱,以避免 XML 檔各個部分間的名稱衝突。It enables you to uniquely qualify the names of elements and attributes to avoid name conflicts between various parts of an XML document. 當您宣告 XML 命名空間時,您可以選取只在該命名空間內必須是唯一的本機名稱。When you've declared an XML namespace, you can select a local name that only has to be unique within that namespace.

XML 名稱的另一個層面是 XML 命名空間前置詞,這會導致 XML 名稱的大部分複雜性。Another aspect of XML names is XML namespace prefixes, which cause most of the complexity of XML names. 這些前置詞可讓您建立 XML 命名空間的捷徑,讓 XML 文件更精簡而且更容易了解。These prefixes enable you to create a shortcut for an XML namespace, which makes the XML document more concise and understandable. 不過,XML 前置詞的意義取決於內容,這會增加複雜度。However, the meaning of an XML prefix depends on context, which adds complexity. 例如,XML 前置詞 aw 可以與 xml 樹狀結構中的一個 xml 命名空間相關聯,並且在另一個元件中使用不同的命名空間。For example, the XML prefix aw could be associated with one XML namespace in part of an XML tree, and with a different namespace in another part.

使用 LINQ to XML 搭配 c # 的其中一項優點是,您不需要使用 XML 前置詞。One of the advantages of using LINQ to XML with C# is that you don't have to use XML prefixes. 當 LINQ to XML 載入或剖析 XML 檔時,會將每個 XML 前置詞解析為其對應的 XML 命名空間。When LINQ to XML loads or parses an XML document, each XML prefix is resolved to its corresponding XML namespace. 之後,當您處理使用命名空間的文件時,您幾乎永遠都要透過命名空間 URI (而非透過命名空間前置詞) 存取命名空間。After that, when you work with a document that uses namespaces, you almost always access the namespaces through the namespace URI, and not through the namespace prefix. 當開發人員在 LINQ to XML 使用 XML 名稱時,它們一律會使用完整的 XML 名稱, (也就是 XML 命名空間和本機名稱) 。When developers work with XML names in LINQ to XML they always work with a fully-qualified XML name (that is, an XML namespace and a local name). 不過,LINQ to XML 可讓您視需要使用和控制命名空間前置詞。However, LINQ to XML does allow you to work with and control namespace prefixes as needed.

使用 LINQ to XML 搭配 Visual Basic 和 XML 常值時,您必須在使用命名空間中的檔時使用命名空間前置詞。When using LINQ to XML with Visual Basic and XML literals, you must use namespace prefixes when working with documents in namespaces.

在 LINQ to XML 中,代表 XML 名稱的類別是 XNameIn LINQ to XML, the class that represents XML names is XName. XML 名稱會經常出現在 LINQ to XML API 中,而且每當需要 XML 名稱時,您就會發現一個 XName 參數。XML names appear frequently throughout the LINQ to XML API, and wherever an XML name is required, you will find an XName parameter. 不過,您幾乎不會直接使用 XNameHowever, you rarely work directly with an XName. XName 包含字串的隱含轉換。XName contains an implicit conversion from string.

如需詳細資訊,請參閱 XNamespaceXNameFor more information, see XNamespace and XName.