XPath 표현식 온라인 테스트
XPath Tester를 사용하면 XPath 표현식으로 공개 웹페이지의 노드를 찾을 수 있습니다. URL과 //img, //main//a, //*[@data-id] 같은 표현식을 입력합니다. 도구는 일치하는 노드를 표시하고 동일한 쿼리를 위한 C# 코드를 생성합니다.
- 검사할 웹페이지의 URL을 입력합니다.
- 필요한 노드를 식별하는 XPath 표현식을 입력합니다.
- 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 축이 필요하지 않은 간결한 class, ID, 특성 또는 요소 쿼리에는 CSS Selector Tester 가 더 읽기 쉬운 경우가 많습니다.
C#에서 XPath API 사용하기
- 로컬 HTML 파일 또는 URL에서
HTMLDocument를 만듭니다. - XPath 표현식을 정의하고 적절한 컨텍스트 노드를 선택합니다.
- 표현식, 컨텍스트, 필요한 경우 네임스페이스 확인자, 예상
XPathResultType을 지정하여Evaluate()를 호출합니다. - 반환된 값을 읽거나
IterateNext()로 일치하는 노드를 반복합니다.
표현식에서 네임스페이스 접두사를 사용한다면 해당 접두사를 네임스페이스 URI에 매핑하는 확인자를 제공하십시오. 접두사가 없는 일반 HTML 쿼리에서는 확인자를 null로 지정할 수 있습니다.
XPath 설명서 및 API 참조
XPath 평가, HTML 탐색 및 XML 관련 예제는 다음 자료를 참조하십시오.
- How to Use XPath in HTML
에서는
Evaluate()매개변수와 C#에서 노드를 선택하는 방법을 설명합니다. - HTML Navigation in C# 에서는 XPath, CSS 선택기 및 직접 DOM 탐색을 비교합니다.
- Select XML Nodes with XPath 에서는 XML 문서에 대한 XPath 쿼리를 다룹니다.
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를 사용합니다. 일반적인 class, ID, 특성 및 하위 요소 쿼리에는 CSS 선택기를 사용합니다.
관련 HTML 선택 및 편집 워크플로
CSS 선택기, DOM 편집, 테이블 데이터 추출 또는 이미지 추출 워크플로를 계속 살펴보십시오.