
XPath 可用於查找與 XPath 表達式中定義的某些條件相匹配的特定節點。您可以使用 XPath 查詢在 XML 或 HTML 文檔中導航。因此,本文解釋瞭如何使用 XPath 根據您的要求選擇特定節點。
- 使用 XPath 從 XML 或 HTML 文件中選擇節點 - C# API 安裝
- 在 C# 中使用 XPath Document.Evaluate() 方法從 HTML 網頁獲取圖像
- 在 C# 中使用 XPath Document.Evaluate() 方法從 XML 文件中選擇節點
- 在 C# 中使用 XPath Document.Evaluate() 方法從選定節點中選取特定信息
使用 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 網頁獲取圖像。請按照以下步驟完成此過程:
- 初始化 HTMLDocument 類的對像以加載源文件。
- 將 XPath 表達式和其他參數傳遞給 Evaluate 方法。
- 遍歷選定的節點並獲取每個圖像的鏈接。
以下代碼示例演示瞭如何使用 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 文件中選擇特定節點。以下步驟解釋瞭如何滿足此類要求:
- 使用 HTMLDocument 類加載源 XML 文件。
- 在傳遞 XPath 表達式和其他參數的同時調用 Evaluate 方法。
- 遍歷所選節點並打印所選節點的全部內容。
下面的代碼片段展示瞭如何使用 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 查詢從所選節點獲取特定信息。
- 使用 HTMLDocument 類訪問輸入 XML 文件。
- 調用 Evaluate 方法以獲取與 XPath 表達式匹配的節點。
- 循環匹配節點並打印每個節點的具體內容。
以下代碼示例說明瞭如何使用 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 表達式相匹配。然而,如果您想討論您的任何疑慮,請通過 免費支持論壇 與我們聯繫。