Přehled oborů názvů (LINQ to XML)Namespaces overview (LINQ to XML)

Tento článek představuje názvy XML, obory názvů XML, předpony názvů XMLa XName XNamespace třídy a.This article introduces XML names, XML namespaces, XML namespace prefixes, and the XName and XNamespace classes.

Názvy XML jsou často zdrojem složitosti při programování XML.XML names are often a source of complexity in XML programming. Název XML se skládá z oboru názvů XML (označuje se také jako identifikátor URI oboru názvů XML) a místního názvu.An XML name consists of an XML namespace (also called an XML namespace URI) and a local name. Obor názvů XML je podobný oboru názvů v programu .NET.An XML namespace is similar to a namespace in a .NET program. Umožňuje jednoznačně kvalifikovat názvy elementů a atributů, aby nedocházelo ke konfliktům názvů mezi různými částmi dokumentu XML.It enables you to uniquely qualify the names of elements and attributes to avoid name conflicts between various parts of an XML document. Pokud jste deklarovali obor názvů XML, můžete vybrat místní název, který musí být v rámci tohoto oboru názvů jedinečný.When you've declared an XML namespace, you can select a local name that only has to be unique within that namespace.

Dalším aspektem názvů XML jsou předpony oboru názvů XML, které způsobují většinu složitosti názvů XML.Another aspect of XML names is XML namespace prefixes, which cause most of the complexity of XML names. Tyto předpony umožňují vytvořit zástupce pro obor názvů XML, díky čemuž je dokument XML výstižnější a srozumitelný.These prefixes enable you to create a shortcut for an XML namespace, which makes the XML document more concise and understandable. Význam předpony XML však závisí na kontextu, který zvyšuje složitost.However, the meaning of an XML prefix depends on context, which adds complexity. Předpona XML aw může být například přidružena k jednomu oboru názvů XML v rámci stromu XML a s jiným oborem názvů v jiné části.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.

Jednou z výhod používání LINQ to XML v jazyce C# je, že nemusíte používat předpony XML.One of the advantages of using LINQ to XML with C# is that you don't have to use XML prefixes. Když LINQ to XML načítá nebo analyzuje dokument XML, každá předpona XML je přeložena na odpovídající obor názvů XML.When LINQ to XML loads or parses an XML document, each XML prefix is resolved to its corresponding XML namespace. Po tom, když pracujete s dokumentem, který používá obory názvů, skoro vždy získáte přístup k oborům názvů prostřednictvím identifikátoru URI oboru názvů a nikoli prostřednictvím předpony oboru názvů.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. Když vývojáři pracují s názvy XML v LINQ to XML vždy pracují s plně kvalifikovaným názvem XML (tj. obor názvů XML a místní název).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 vám ale umožní pracovat s a řídit předpony oboru názvů podle potřeby.However, LINQ to XML does allow you to work with and control namespace prefixes as needed.

Při použití LINQ to XML s Visual Basic a literály XML je nutné při práci s dokumenty v oborech názvů použít předpony oboru názvů.When using LINQ to XML with Visual Basic and XML literals, you must use namespace prefixes when working with documents in namespaces.

V LINQ to XML třída, která představuje názvy XML, je XName .In LINQ to XML, the class that represents XML names is XName. Názvy XML se často vyskytují v rámci LINQ to XML rozhraní API a všude, kde se vyžaduje název XML, najdete XName parametr.XML names appear frequently throughout the LINQ to XML API, and wherever an XML name is required, you will find an XName parameter. Nicméně zřídka pracujete přímo s XName .However, you rarely work directly with an XName. XName obsahuje implicitní převod z řetězce.XName contains an implicit conversion from string.

Další informace naleznete v tématech XNamespace a XName.For more information, see XNamespace and XName.