Você está offline; aguardando reconexão

Como a consulta XML com uma expressão XPath usando translation from VPE for Csharp Visual

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 308333
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 301220.

Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
  • System.Xml.XPath

NESTA TAREFA

Sumário
Este artigo demonstra como consultar um objeto XPathDocument com uma expressão de XML Path Language (XPath) usando a classe XPathNavigator . XPath é usado programaticamente para avaliar expressões e selecionar nós específicos em um documento.

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Translation from VPE for Csharp Visual
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Terminologia XML
  • Criar e ler um arquivo XML
  • Sintaxe do XPath
back to the top

Como consultar XML com uma expressão XPath

  1. Crie um novo aplicativo de console translation from VPE for Csharp Visual no Visual Studio.

    Observação : Este exemplo usa um arquivo chamado Books.XML. Você pode criar seu próprio arquivo Books.XML ou você pode usar o exemplo que acompanha o QuickStarts .NET Software Development Kit (SDK). Se você não tem o QuickStarts instalado e não deseja instalá-las, consulte a seção "Referências" para o Books.XML local do download. Se você tiver o QuickStarts instalado, o arquivo pode ser encontrado na seguinte pasta:
    Programa Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Você deve copiar o arquivo para a pasta \Bin\Debug, que está localizada na pasta na qual você criou este projeto.
  2. Certifique-se que o projeto referências do namespace System.XML .
  3. Use a instrução usando em namespaces XML e o XPath para que não é necessário para qualificar declarações esses namespaces posteriormente no seu código. Você deve usar a instrução usando antes para qualquer outra declaração, da seguinte forma:
    using System.Xml;using System.Xml.XPath;					
  4. Declare as variáveis apropriadas. Declare um objeto XPathDocument para armazenar o documento XML, um objeto XpathNavigator para avaliar expressões XPath e um objeto XPathNodeIterator para iterar através de nós selecionados. Declare um objeto String para armazenar as expressões XPath. Adicione o código declaração da função principal na Class1.
       XPathNavigator nav;   XPathDocument docNav;   XPathNodeIterator NodeIter;   String strExpression;					
  5. Carregar um XPathDocument com o arquivo de exemplo Books.XML. A classe XPathDocument usa XSLT (Extensible Stylesheet Language Transformations) para fornecer um cache rápido e orientados a desempenho de processamento do documento XML. É semelhante para o objeto modelo DOM (Document), mas é altamente otimizada para processamento de XSLT e o modelo de dados do XPath.
        // Open the XML.    docNav = new XPathDocument(@"c:\books.xml");					
  6. Criar um XPathNavigator a partir do documento. O objeto XPathNavigator é usado para consultas XPath somente leitura. As consultas XPath podem retornar um valor resultante ou muitos de nós.
         // Create a navigator to query with XPath.     nav = docNav.CreateNavigator();					
  7. Crie uma expressão XPath para localizar o custo médio de um livro. Essa expressão XPath retorna um valor único. Para obter detalhes completos na sintaxe do XPath, consulte "Sintaxe XPath" na seção "Referências".
         // Find the average cost of a book.     // This expression uses standard XPath syntax.     strExpression = "sum(/bookstore/book/price) div count(/bookstore/book/price)";					
  8. Use o método Evaluate do objeto XPathNavigator para avaliar a expressão XPath. O método Evaluate retorna os resultados da expressão.
        // Use the Evaluate method to return the evaluated expression.    Console.WriteLine("The average cost of the books are {0}", nav.Evaluate(strExpression));
  9. Crie uma expressão XPath para localizar todos os livros que custam mais de dez dólares. Essa expressão XPath retorna somente nós de título de origem XML.
        // Find the title of the books that are greater then $10.00.    strExpression = "/bookstore/book/title[../price>10.00]";					
  10. Crie um XPathNodeIterator para os nós que estão selecionados com o método Select de XPathNavigator . XPathNodeIterator representa um conjunto de nós XPath e, portanto, oferece suporte a operações neste conjunto de nós.
        // Select the node and place the results in an iterator.    NodeIter = nav.Select(strExpression);
  11. Use o XPathNodeIterator , que foi retornado do método Select de XPathNavigator , para percorrer os nós selecionados. Nesse caso, você pode usar o método MoveNext do XPathNodeIterator para iterar por todos os nós selecionados.
      Console.WriteLine("List of expensive books:");  //Iterate through the results showing the element value.  while (NodeIter.MoveNext())  {      Console.WriteLine("Book Title: {0}", NodeIter.Current.Value);  };					
  12. Use o método ReadLine para adicionar uma pausa no final da exibição do console para exibir os resultados acima mais prontamente.
        // Pause    Console.ReadLine();					
  13. Compile e execute seu projeto. Observe que os resultados são exibidos na janela do console.
back to the top

Solução de problemas

Quando você testar o código, você receberá a seguinte mensagem de erro exceção:
Ocorreu uma exceção sem tratamento do tipo 'System.Xml.XmlException' na System.XML.dll

Obter informações adicionais: erro do sistema.
O erro de exceção ocorre na linha de código a seguir:
docNav = new XPathDocument("c:\\books.xml");				
o erro de exceção é causado por uma instrução de processamento inválido. Por exemplo, a instrução de processamento pode conter espaços estranhos. A seguir está um exemplo de uma instrução de processamento inválido:
<?xml version='1.0' ?>
para resolver a exceção, siga um destes procedimentos:
  • Corrija a instrução de processamento inválido. A seguir está um exemplo de uma instrução de processamento válido:
    <?xml version='1.0'?>
    - ou -
  • Remova a instrução de processamento XML do arquivo Books.XML.
back to the top
Referências
O seguinte arquivo está disponível para download no Centro de download da Microsoft:
Para obter mais informações, visite os seguintes sites: Para obter mais informações sobre o XPath, visite o seguinte site da World Wide Web Consortium (W3C):
XML Path Language (XPath)
Versão 1.0: Recomendação do W3C 16 de novembro de 1999
http://www.w3.org/TR/1999/REC-xpath-19991116
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 308333 - Última Revisão: 03/13/2008 20:02:27 - Revisão: 7.2

Microsoft ADO.NET 1.0, Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbdownload kbhowtomaster KB308333 KbMtpt
Comentários