Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Há duas maneiras de ler um documento XML no System.Xml.XPath namespace. Uma é ler um documento XML usando a classe de leitura somente XPathDocument e a outra é ler um documento XML usando a classe editável XmlDocument no espaço de nomes System.Xml.
Lendo documentos XML usando a classe XPathDocument
A XPathDocument classe fornece uma representação rápida, somente leitura, na memória de um documento XML usando o modelo de dados XPath. As instâncias da XPathDocument classe são criadas usando um de seus seis construtores. Esses construtores permitem que você leia um documento XML usando um objeto Stream, TextReader ou XmlReader, bem como o caminho string
para um arquivo XML.
O exemplo a seguir ilustra o uso do construtor da classe XPathDocumentstring
para ler um documento XML.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
Lendo documentos XML usando a classe XmlDocument
A XmlDocument classe é uma representação editável na memória de um documento XML implementando o W3C Document Object Model (DOM) Nível 1 Core e Core DOM Nível 2. As instâncias da XmlDocument classe são criadas usando um de seus três construtores. Você pode criar um novo objeto vazio XmlDocument chamando o XmlDocument construtor de classe sem parâmetros. Após chamar o construtor, use o método Load para carregar dados XML no novo objeto XmlDocument de um Stream, TextReader ou objeto XmlReader, assim como o caminho string
para um arquivo XML.
O exemplo a seguir ilustra o uso do XmlDocument construtor de classe sem parâmetros e o Load método para ler um documento XML.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
Determinando a codificação de um documento XML
Um XmlReader objeto pode ser usado para ler um documento XML e criar XPathDocument e XmlDocument objetos, conforme mostrado nas seções anteriores. No entanto, um XmlReader objeto pode ler dados que não são codificados e, como resultado, não fornecem nenhuma informação de codificação.
A XmlTextReader classe herda da XmlReader classe, fornece informações de codificação usando sua Encoding propriedade e pode ser usada para criar um XPathDocument objeto ou XmlDocument objeto.
Para obter mais informações sobre as informações de codificação fornecidas pela classe XmlTextReader, consulte a propriedade Encoding na documentação de referência da classe XmlTextReader.
Criando objetos XPathNavigator
Depois de ler um documento XML em um XPathDocument ou XmlDocument objeto, você pode criar um XPathNavigator objeto para selecionar, avaliar, navegar e, em alguns casos, editar os dados XML subjacentes.
As classes XPathDocument e XmlDocument, além da classe XmlNode, implementam a interface IXPathNavigable do namespace System.Xml.XPath. Como resultado, todas as três classes fornecem um CreateNavigator método que retorna um XPathNavigator objeto.
Editando documentos XML usando a classe XPathNavigator
Além de selecionar, avaliar e navegar dados XML, a XPathNavigator classe pode ser usada para editar um documento XML em alguns casos, com base no objeto que o criou.
A classe XPathDocument é somente leitura, enquanto a classe XmlDocument é editável e, como resultado, os objetos XPathNavigator criados a partir de um objeto XPathDocument não podem ser usados para editar um documento XML, enquanto aqueles criados a partir de um objeto XmlDocument podem. A XPathDocument classe deve ser usada apenas para ler um documento XML. Nos casos em que você precisa editar um documento XML ou exigir acesso à funcionalidade adicional fornecida pela classe, como o XmlDocument tratamento de eventos, a XmlDocument classe deve ser usada.
A CanEdit propriedade da XPathNavigator classe especifica se um XPathNavigator objeto pode editar dados XML.
A tabela a seguir descreve o valor da CanEdit propriedade para cada classe.
IXPathNavigable Implementação | Valor CanEdit |
---|---|
XPathDocument | false |
XmlDocument | true |