Visão geral de namespaces (LINQ to XML)
Este artigo apresenta nomes XML, namespaces XML, prefixos de namespace XML e as XName classes and XNamespace .
Os nomes XML são muitas vezes uma fonte de complexidade na programação XML. Um nome XML consiste em um namespace XML (também chamado de URI de namespace XML) e um nome local. Um namespace XML é semelhante a um namespace em um programa .NET. Ele permite que você qualifique exclusivamente os nomes de elementos e atributos para evitar conflitos de nome entre várias partes de um documento XML. Depois de declarar um namespace XML, você pode selecionar um nome local que só precisa ser exclusivo dentro desse namespace.
Outro aspeto dos nomes XML são os prefixos de namespace XML, que causam a maior parte da complexidade dos nomes XML. Esses prefixos permitem que você crie um atalho para um namespace XML, o que torna o documento XML mais conciso e compreensível. No entanto, o significado de um prefixo XML depende do contexto, o que adiciona complexidade. Por exemplo, o prefixo aw
XML pode ser associado a um namespace XML em parte de uma árvore XML e a um namespace diferente em outra parte.
Uma das vantagens de usar LINQ to XML com C# é que você não precisa usar prefixos XML. Quando o LINQ to XML carrega ou analisa um documento XML, cada prefixo XML é resolvido para seu namespace XML correspondente. Depois disso, quando você trabalha com um documento que usa namespaces, quase sempre acessa os namespaces por meio do URI do namespace e não pelo prefixo do namespace. Quando os desenvolvedores trabalham com nomes XML em LINQ to XML, eles sempre trabalham com um nome XML totalmente qualificado (ou seja, um namespace XML e um nome local). No entanto, o LINQ to XML permite que você trabalhe com e controle prefixos de namespace conforme necessário.
Ao usar LINQ to XML com literais Visual Basic e XML, você deve usar prefixos de namespace ao trabalhar com documentos em namespaces.
Em LINQ to XML, a classe que representa nomes XML é XName. Os nomes XML aparecem com freqüência em toda a API LINQ to XML e, sempre que um nome XML for necessário, você encontrará um XName parâmetro. No entanto, você raramente trabalha diretamente com um XNamearquivo . XName contém uma conversão implícita de string.
Para obter mais informações, consulte XNamespace e XName.