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#
- Use o método XPath Document.Evaluate() para obter imagens de uma página da Web HTML em C#
- Use o método XPath Document.Evaluate() para selecionar nós do arquivo XML em C#
- Use o método XPath Document.Evaluate() para selecionar informações específicas de nós selecionados em C#
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:
- Inicialize um objeto da classe HTMLDocument para carregar o arquivo fonte.
- Passe a expressão XPath e outros parâmetros para o método Evaluate.
- 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:
- Carregue o arquivo XML de origem com a classe HTMLDocument.
- Chame o método Evaluate ao passar a expressão XPath e outros parâmetros.
- 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.
- Acesse o arquivo XML de entrada usando a classe HTMLDocument.
- Invoque o método Evaluate para obter os nós correspondentes à expressão XPath.
- 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.