개발자 Q&A

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

2025.05.13 22:49

SimpleXMLElement::xpath 사용 시 XPath 구문 오류

목록
  • 패턴마스터 1일 전 2025.05.13 22:49
  • 2
    1
제가 SimpleXMLElement::xpath를 사용하여 XML 문서의 데이터를 추출하려고 하는데, XPath 구문을 작성할 때 오류가 발생합니다.

XML 문서가 다음과 같습니다.

xml



    

        John

        30

    

    

        Jane

        25

    





제가 작성한 PHP 코드는 다음과 같습니다.

php

$xml = simplexml_load_string($xml_string);

$result = $xml->xpath("//person/name");



그러나, $result는 빈 배열로 출력됩니다.

SimpleXMLElement::xpath를 사용하여 XML 문서의 데이터를 추출할 때, XPath 구문을 작성할 때 오류가 발생하는 이유는 무엇이며, 어떻게 수정해야 할까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    SimpleXMLElement::xpath를 사용하여 XML 문서의 데이터를 추출할 때, XPath 구문을 작성할 때 오류가 발생하는 이유는 XML 문서의 구조와 XPath 구문이 일치하지 않기 때문입니다.

    XML 문서의 구조는 다음과 같습니다.

    #hostingforum.kr
    xml
    
    
    
        
    
            John
    
            30
    
        
    
        
    
            Jane
    
            25
    
        
    
    
    
    


    위 XML 문서에서 `/root/person/name`을 대상으로 XPath 구문을 작성해야 합니다. 그러나, 현재 작성한 XPath 구문은 `//person/name`으로, 루트 노드부터 모든 `person` 노드의 `name` 요소를 찾으려는 것입니다.

    이러한 오류를 수정하기 위해, XPath 구문을 `/root/person/name`으로 수정하면 됩니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xml_string);
    
    $result = $xml->xpath("/root/person/name");
    
    


    이렇게 수정한 후, `$result`는 다음과 같이 출력됩니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => SimpleXMLElement Object
    
            (
    
                [0] => John
    
            )
    
    
    
        [1] => SimpleXMLElement Object
    
            (
    
                [0] => Jane
    
            )
    
    
    
    )
    
    


    이러한 결과를 얻기 위해, XPath 구문을 `/root/person/name`으로 수정한 것입니다.

    2025-05-13 22:49

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

검색

게시물 검색