XPath 표현식 온라인 테스트

XPath Tester를 사용하면 XPath 표현식으로 공개 웹페이지의 노드를 찾을 수 있습니다. URL과 //img, //main//a, //*[@data-id] 같은 표현식을 입력합니다. 도구는 일치하는 노드를 표시하고 동일한 쿼리를 위한 C# 코드를 생성합니다.

  1. 검사할 웹페이지의 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 축이 필요하지 않은 간결한 class, 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를 사용합니다. 일반적인 class, ID, 특성 및 하위 요소 쿼리에는 CSS 선택기를 사용합니다.

관련 HTML 선택 및 편집 워크플로

CSS 선택기, DOM 편집, 테이블 데이터 추출 또는 이미지 추출 워크플로를 계속 살펴보십시오.