Método de Avaliação de Documento XPath C#

XPath pode ser usado para localizar nós específicos que correspondem a alguns critérios definidos na expressão XPath. Você pode usar a consulta XPath para navegar por um documento XML ou HTML. Da mesma forma, este artigo explica como usar XPath para selecionar nós específicos de acordo com seus requisitos.

Trabalhar com XPath para selecionar nós de arquivos XML ou HTML - instalação da API C#

Aspose.HTML para .NET A API pode ser usada para automatizar o processo para selecionar tipos específicos de nós ou ler informações específicas de um nó selecionado. Você pode configurar rapidamente a API baixando o arquivo DLL da página New Releases ou usando o seguinte comando de instalação NuGet:

PM> Install-Package Aspose.Html

Use o método XPath Document.Evaluate() para obter imagens de uma página da Web HTML em C#

Você pode usar o método Document.Evaluate() para obter imagens de uma página HTML. Por favor, siga as etapas abaixo para concluir este processo:

  1. Inicialize um objeto da classe HTMLDocument para carregar o arquivo fonte.
  2. Passe a expressão XPath e outros parâmetros para o método Evaluate.
  3. Percorra os nós selecionados e obtenha o link para cada imagem.

O exemplo de código a seguir demonstra como usar o método XPath Document.Evaluate() para obter imagens de uma página da Web em HTML:

// Criar uma instância de um documento HTML
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "xpath.htm")))
{
    // Avalie a expressão XPath
    var result = doc.Evaluate("//main/div[position() mod 2 = 1]//img[@class = 'photo']", doc, doc.CreateNSResolver(doc), Aspose.Html.Dom.XPath.XPathResultType.Any, null);

    // Iterar sobre os nós resultantes e imprimi-los no console
    Aspose.Html.Dom.Node node;
    while ((node = result.IterateNext()) != null)
    {
        var img = (Aspose.Html.HTMLImageElement)node;
        Console.WriteLine(img.Src);
    }
}

Use o método XPath Document.Evaluate() para selecionar nós do arquivo XML em C#

Em certos casos, pode ser necessário selecionar nós específicos de um arquivo XML. As etapas a seguir explicam como atender a esses requisitos:

  1. Carregue o arquivo XML de origem com a classe HTMLDocument.
  2. Chame o método Evaluate ao passar a expressão XPath e outros parâmetros.
  3. Itere sobre os nós selecionados e imprima todo o conteúdo dos nós selecionados.

O trecho de código abaixo mostra como usar o método XPath Document.Evaluate para selecionar nós do arquivo XML:

// Criar uma instância de um documento
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // Avalie a expressão XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Itere sobre os nós resultantes e imprima seu conteúdo no console
    while ((dealer = dealers.IterateNext()) != null)
    {
        Console.WriteLine(dealer.TextContent);
    }
}

Use o método XPath Document.Evaluate() para selecionar informações específicas de nós selecionados em C#

Às vezes, você pode precisar obter detalhes específicos de um nó em vez de todo o conteúdo. Você pode seguir as etapas abaixo para usar a consulta XPath para obter informações específicas dos nós selecionados.

  1. Acesse o arquivo XML de entrada usando a classe HTMLDocument.
  2. Invoque o método Evaluate para obter os nós correspondentes à expressão XPath.
  3. Percorra os nós correspondentes e imprima o conteúdo específico de cada nó.

O exemplo de código a seguir explica como selecionar informações específicas de um nó selecionado em XML usando o método XPath Document.Evaluate:

// Criar uma instância de um documento
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // Selecione revendedores que correspondam à expressão XPath
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Iterar sobre os revendedores selecionados
    while ((dealer = dealers.IterateNext()) != null)
    {
        // Obtenha e imprima o nome e o telefone do revendedor
        var dealerInfo = doc.Evaluate("concat('Dealer name: ', Name, ' Telephone: ', Telephone)", dealer, doc.CreateNSResolver(doc), XPathResultType.String, null);
        Console.WriteLine(dealerInfo.StringValue);

        // Selecione e imprima CarID que corresponda à expressão XPath
        var carIds = doc.Evaluate(".//Car[descendant::Model > 2005 and descendant::Price < 25000]/@CarID", dealer, doc.CreateNSResolver(doc), XPathResultType.Any, null);
        Aspose.Html.Dom.Node carId;

        while ((carId = carIds.IterateNext()) != null)
        {
            Console.WriteLine("Car id: " + carId.TextContent);
        }
    }
}

Use XPath para selecionar nós em C# - Leia mais

Você pode aprender mais detalhes sobre como trabalhar com XPath Query visitando os seguintes tópicos na seção documentação.

Consulta XPath para selecionar nós de HTML ou XML em C# - Licença de avaliação gratuita

Você pode testar os recursos da API em sua capacidade total, sem quaisquer limitações, solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como usar o método XPath Query Document.Evaluate para selecionar nós específicos ou conteúdos específicos dos nós selecionados que correspondem à expressão XPath. Considerando que, caso você queira discutir qualquer uma de suas preocupações, entre em contato conosco em fórum de suporte gratuito.

Veja também

Use seletores de CSS em HTML usando C#