
evaluate 메서드가 제대로 작동하지 않는 이유는 두 가지 경우가 있습니다.
1. XPath 표현식이 올바르지 않음: evaluate 메서드는 XPath 표현식을 사용하여 XML 문서에서 데이터를 추출합니다. XPath 표현식이 올바르지 않으면 evaluate 메서드는 null을 반환합니다. 예를 들어, XPath 표현식이 "//item"이면 evaluate 메서드는 모든 item 요소를 반환해야 하지만, "//item"은 모든 item 요소를 반환하는 XPath 표현식이 아닙니다. 올바른 XPath 표현식은 "//item/*"입니다.
2. XML 문서가 올바르지 않음: evaluate 메서드는 XML 문서의 구조에 따라 데이터를 추출합니다. XML 문서가 올바르지 않으면 evaluate 메서드는 null을 반환합니다. 예를 들어, XML 문서가 다음과 같이 작성되어 있으면 evaluate 메서드는 null을 반환합니다.
#hostingforum.kr
xml
제품1
1000
제품2
2000
위 코드에서 evaluate 메서드가 제대로 작동하지 않는 이유는 XPath 표현식이 올바르지 않기 때문입니다. 올바른 XPath 표현식은 "//item/*"입니다.
#hostingforum.kr
php
$result = $xpath->evaluate("//item/*");
위 코드에서 사용한 XML 문서는 올바르며, evaluate 메서드는 모든 item 요소의 자식 요소를 반환합니다.
2025-06-20 06:04