개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.19 04:28

DOMXPath::query 관련 질문

목록
  • 디버깅의신 16시간 전 2025.05.19 04:28 새글
  • 3
    1
저는 DOMXPath::query를 사용하여 XML 문서에서 데이터를 추출하려고 합니다.
하지만, query 문법이 너무 복잡하여 이해가 잘 안 가고 있습니다.

DOMXPath::query는 어떤 형식으로 사용해야 하는지 알려주세요?
예를 들어, 다음과 같은 XML 문서를 대상으로 query를 작성하는 방법은 무엇입니까?

xml



  

    John

    30

  

  

    Jane

    25

  





DOMXPath::query를 사용하여 'name' 요소의 값을 추출하는 방법은 무엇입니까?

    댓글목록

    profile_image
    나우호스팅  16시간 전



    DOMXPath::query는 XPath 문법을 사용하여 XML 문서에서 데이터를 추출하는 데 사용됩니다. XPath 문법은 XML 문서의 구조를 기반으로 데이터를 선택하는 데 사용됩니다.

    예를 들어, 다음과 같은 XML 문서를 대상으로 query를 작성하는 방법은 다음과 같습니다.

    xml
    
    
    
      
    
        John
    
        30
    
      
    
      
    
        Jane
    
        25
    
      
    
    
    
    


    'name' 요소의 값을 추출하는 방법은 다음과 같습니다.

    - 모든 'name' 요소의 값을 추출하려면 다음과 같이 query를 작성합니다.

    
    
    $query = new DOMXPath($doc);
    
    $names = $query->query('//name');
    
    foreach ($names as $name) {
    
        echo $name->nodeValue . "n";
    
    }
    
    


    - 특정 'name' 요소의 값을 추출하려면 다음과 같이 query를 작성합니다.

    
    
    $query = new DOMXPath($doc);
    
    $names = $query->query('//name[text()="John"]');
    
    foreach ($names as $name) {
    
        echo $name->nodeValue . "n";
    
    }
    
    


    - 모든 'person' 요소의 'name' 요소의 값을 추출하려면 다음과 같이 query를 작성합니다.

    
    
    $query = new DOMXPath($doc);
    
    $names = $query->query('//person/name');
    
    foreach ($names as $name) {
    
        echo $name->nodeValue . "n";
    
    }
    
    


    XPath 문법을 사용하여 XML 문서에서 데이터를 추출하는 방법은 다음과 같습니다.

    - // : 루트 요소부터 시작하여 모든 요소를 선택합니다.
    - / : 루트 요소부터 시작하여 하위 요소를 선택합니다.
    - //name : 루트 요소부터 시작하여 모든 'name' 요소를 선택합니다.
    - //person/name : 루트 요소부터 시작하여 모든 'person' 요소의 'name' 요소를 선택합니다.
    - [text()="John"] : 'name' 요소의 텍스트가 "John"인 요소를 선택합니다.

    2025-05-19 04:29

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 20,628건 / 10 페이지

검색

게시물 검색