XPath式をオンラインでテスト

XPath Testerを使用すると、XPath式で公開Webページ上のノードを検索できます。URLと、//img、//main//a、//*[@data-id]などの式を入力してください。このツールは一致するノードを表示し、同じクエリを実行するC#コードを生成します。

  1. 確認するWebページのURLを入力します。
  2. 必要なノードを特定するXPath式を入力します。
  3. Findをクリックし、一致するノードを確認して、結果または生成されたC#コードをコピーします。


C#でHTMLに対するXPathクエリを評価

Aspose.HTML for .NET は、文書DOMに対してXPath式を評価します。この例は、ウィジェットに表示されているURLを読み込み、 Evaluate() を呼び出して、返されたIXPathResultを処理します。ウィジェットのURLまたは式を変更すると、このサーバー側でレンダリングされるC#の例も自動的に更新されます。コンテキストノードは評価の開始位置を定義し、XPathResultTypeは要求する結果型を指定します。

C#のXPathクエリ

using System;
using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Dom.XPath;

// Create an HTML document
string url = "https://www.aspose.com/";
using HTMLDocument document = new HTMLDocument(url);

// Evaluate the XPath expression
IXPathResult result = document.Evaluate("//a", document, null, XPathResultType.Any, null);

// Process the XPath result
switch (result.ResultType)
{
    case XPathResultType.Number:
        Console.WriteLine(result.NumberValue);
        break;
    case XPathResultType.String:
        Console.WriteLine(result.StringValue);
        break;
    case XPathResultType.Boolean:
        Console.WriteLine(result.BooleanValue);
        break;
    default:
        Node node;
        while ((node = result.IterateNext()) != null)
        {
            if (node is Element element)
            {
                Console.WriteLine(element.OuterHTML);
            }
            else
            {
                Console.WriteLine(node.TextContent);
            }
        }
        break;
}

よく使われるXPathクエリのパターン

XPathでは、名前、属性、位置、階層、テキスト内容に基づいて要素を選択できます。

  • //imgは文書内のすべての<img>要素を選択します。
  • //main//aは<main>内の任意の深さにあるリンクを選択します。
  • //*[@data-id]はdata-id属性を持つ要素を選択します。
  • //ul/li[1]は各<ul>の最初の<li>子要素を選択します。
  • //p[contains(normalize-space(.), 'price')]は正規化したテキストにpriceを含む段落を選択します。

テキスト条件やXPath軸を必要としない、クラス、ID、属性、要素の簡潔なクエリには、 CSS Selector Tester の方が読みやすい場合があります。


C#でXPath APIを使用する手順

  1. ローカルHTMLファイルまたはURLから HTMLDocument を作成します。
  2. XPath式を定義し、適切なコンテキストノードを選択します。
  3. 式、コンテキスト、必要な場合は名前空間リゾルバー、期待する XPathResultType を指定して Evaluate() を呼び出します。
  4. 返された値を読み取るか、 IterateNext() で一致するノードを反復処理します。

式で名前空間プレフィックスを使用する場合は、そのプレフィックスを名前空間URIに対応付けるリゾルバーを指定してください。プレフィックスを含まない通常のHTMLクエリでは、リゾルバーにnullを指定できます。


XPathのドキュメントとAPIリファレンス

XPath評価、HTMLナビゲーション、XML固有の例については、次のリソースを参照してください。


Aspose.HTML for .NET のインストール

.NET CLI を使用して、NuGet から Aspose.HTML for .NET をインストールします。

dotnet add package Aspose.HTML

NuGet パッケージ マネージャーの UI を使用するか、パッケージ マネージャー コンソールで Install-Package Aspose.HTML を実行することもできます。セットアップの詳細は インストール ガイド を参照してください。評価制限なしで API を試すには、 一時ライセンス を申請できます。


FAQ

1. XPath式とは何ですか?

XPath式は、HTMLまたはXML文書ツリーからノードを選択したり値を計算したりするクエリです。パス、軸、述語、関数を使用して必要な結果を指定できます。

2. XPathはHTMLとXMLの両方を検索できますか?

はい。XPathはDOMツリーを対象とし、HTML文書とXML文書のノードを選択できます。オンラインテスターは公開HTMLページ用です。名前空間処理やXML固有の読み込みが必要な場合は、ドキュメントに記載されたC#のXMLワークフローを使用してください。

3. XPath式がノードを返さないのはなぜですか?

ノード名、述語、コンテキストノード、読み込んだ文書構造を確認してください。XMLまたは名前空間付きコンテンツの場合は、式で使用する各プレフィックスを対応するURIに割り当てる名前空間リゾルバーも指定します。

4. CSSセレクタではなくXPathを使用するのはどのような場合ですか?

テキストの照合、祖先や兄弟ノードへの移動、CSSでは表現しにくい述語が必要な場合はXPathを使用します。一般的なクラス、ID、属性、子孫のクエリにはCSSセレクタを使用します。

関連するHTML選択および編集ワークフロー

CSSセレクタ、DOM編集、テーブルデータ抽出、画像抽出の手順も確認できます。