XPath 文檔評估方法 C#

XPath 可用於查找與 XPath 表達式中定義的某些條件相匹配的特定節點。您可以使用 XPath 查詢在 XML 或 HTML 文檔中導航。因此,本文解釋瞭如何使用 XPath 根據您的要求選擇特定節點。

使用 XPath 從 XML 或 HTML 文件中選擇節點 - C# API 安裝

Aspose.HTML for .NET API 可用於自動化選擇特定類型節點的過程,或從所選節點讀取特定信息。您可以通過從 New Releases 頁面下載 DLL 文件或使用以下 NuGet 安裝命令來快速配置 API:

PM> Install-Package Aspose.Html

在 C# 中使用 XPath Document.Evaluate() 方法從 HTML 網頁獲取圖像

您可以使用 Document.Evaluate() 方法從 HTML 網頁獲取圖像。請按照以下步驟完成此過程:

  1. 初始化 HTMLDocument 類的對像以加載源文件。
  2. 將 XPath 表達式和其他參數傳遞給 Evaluate 方法。
  3. 遍歷選定的節點並獲取每個圖像的鏈接。

以下代碼示例演示瞭如何使用 XPath Document.Evaluate() 方法從 HTML 網頁獲取圖像:

// 創建 HTML 文檔的實例
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "xpath.htm")))
{
    // 評估 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);

    // 遍歷結果節點並將它們打印到控制台
    Aspose.Html.Dom.Node node;
    while ((node = result.IterateNext()) != null)
    {
        var img = (Aspose.Html.HTMLImageElement)node;
        Console.WriteLine(img.Src);
    }
}

在 C# 中使用 XPath Document.Evaluate() 方法從 XML 文件中選擇節點

在某些情況下,您可能需要從 XML 文件中選擇特定節點。以下步驟解釋瞭如何滿足此類要求:

  1. 使用 HTMLDocument 類加載源 XML 文件。
  2. 在傳遞 XPath 表達式和其他參數的同時調用 Evaluate 方法。
  3. 遍歷所選節點並打印所選節點的全部內容。

下面的代碼片段展示瞭如何使用 XPath Document.Evaluate 方法從 XML 文件中選擇節點:

// 創建文檔實例
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // 評估 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;

    // 迭代結果節點並將它們的內容打印到控制台
    while ((dealer = dealers.IterateNext()) != null)
    {
        Console.WriteLine(dealer.TextContent);
    }
}

在 C# 中使用 XPath Document.Evaluate() 方法從選定節點中選取特定信息

有時您可能需要從節點獲取特定細節而不是全部內容。您可以按照以下步驟使用 XPath 查詢從所選節點獲取特定信息。

  1. 使用 HTMLDocument 類訪問輸入 XML 文件。
  2. 調用 Evaluate 方法以獲取與 XPath 表達式匹配的節點。
  3. 循環匹配節點並打印每個節點的具體內容。

以下代碼示例說明瞭如何使用 XPath Document.Evaluate 方法從 XML 中的選定節點中選取特定信息:

// 創建文檔實例
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // 選擇匹配 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;

    // 遍歷選定的經銷商
    while ((dealer = dealers.IterateNext()) != null)
    {
        // 獲取並打印經銷商名稱和電話
        var dealerInfo = doc.Evaluate("concat('Dealer name: ', Name, ' Telephone: ', Telephone)", dealer, doc.CreateNSResolver(doc), XPathResultType.String, null);
        Console.WriteLine(dealerInfo.StringValue);

        // 選擇並打印匹配 XPath 表達式的 CarID
        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);
        }
    }
}

在 C# 中使用 XPath 選擇節點 - 閱讀更多

通過訪問 文檔 部分中的以下主題,您可以了解有關使用 XPath 查詢的更多詳細信息。

在 C# 中從 HTML 或 XML 選擇節點的 XPath 查詢 - 免費評估許可證

您可以通過申請 免費臨時許可證 來不受任何限制地測試 API 功能的全部功能。

結論

在本文中,您學習瞭如何使用 XPath 查詢 Document.Evaluate 方法來選擇特定節點或所選節點的特定內容與 XPath 表達式相匹配。然而,如果您想討論您的任何疑慮,請通過 免費支持論壇 與我們聯繫。

也可以看看

使用 C# 在 HTML 中使用 CSS 選擇器