개발자 Q&A

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

2025.05.25 16:41

SimpleXMLElement::xpath 관련 질문

목록
  • 버그헌터 18시간 전 2025.05.25 16:41 새글
  • 3
    1
제가 SimpleXMLElement::xpath를 사용하여 XML 문서에서 데이터를 검색할 때, 다음과 같은 문제가 있습니다.

XML 문서는 다음과 같습니다.
xml



    

        John

        30

    

    

        Jane

        25

    




이 XML 문서에서 사용자 이름과 나이를 모두 포함하는 XPath 표현식을 작성하려고 합니다. 하지만 다음과 같은 오류가 발생합니다.
php

$xml = simplexml_load_string($xmlString);

$result = $xml->xpath('//user[name="John"]');


이러한 오류는 발생하지 않도록 하려면 어떻게 해야 하나요?

또한, XPath 표현식으로 사용자 이름이 "John"인 사용자를 모두 검색하고 싶은데, 다음과 같은 코드를 작성하려고 합니다.
php

$xml = simplexml_load_string($xmlString);

$result = $xml->xpath('//user[name="John"]');


이러한 코드를 사용하여 사용자 이름이 "John"인 사용자를 모두 검색하는 방법은 무엇인가요?

마지막으로, XPath 표현식으로 사용자 이름이 "John"이고 나이가 30 이상인 사용자를 모두 검색하고 싶은데, 다음과 같은 코드를 작성하려고 합니다.
php

$xml = simplexml_load_string($xmlString);

$result = $xml->xpath('//user[name="John" and age>30]');


이러한 코드를 사용하여 사용자 이름이 "John"이고 나이가 30 이상인 사용자를 모두 검색하는 방법은 무엇인가요?

    댓글목록

    profile_image
    나우호스팅  18시간 전



    SimpleXMLElement::xpath를 사용하여 XML 문서에서 데이터를 검색할 때, 다음과 같은 문제가 있습니다.

    1. 사용자 이름과 나이를 모두 포함하는 XPath 표현식을 작성하려고 합니다. 오류를 피하기 위해서는 다음과 같이 작성해야 합니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John" and age="30"]');
    
    


    또는

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John" and @age="30"]');
    
    


    2. XPath 표현식으로 사용자 이름이 "John"인 사용자를 모두 검색하고 싶습니다. 다음과 같이 작성하면 됩니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John"]');
    
    


    3. XPath 표현식으로 사용자 이름이 "John"이고 나이가 30 이상인 사용자를 모두 검색하고 싶습니다. 다음과 같이 작성하면 됩니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John" and @age>30]');
    
    


    또는

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John" and age>30]');
    
    


    또는

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string($xmlString);
    
    $result = $xml->xpath('//user[name="John" and @age>=30]');
    
    

    2025-05-25 16:42

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

검색

게시물 검색