라이브러리

[PHP] DOMXPath::evaluate - 주어진 XPath 표현식을 평가하고 가능한 경우 형식화된 결과를 반환합니다.




DOMXPath::evaluate

DOMXPath::evaluate는 PHP에서 XML 문서를 분석하고 XPath 표현식을 평가하는 데 사용되는 메서드입니다. 이 메서드는 DOMXPath 객체를 통해 호출되며, XPath 표현식을 평가하고 결과를 반환합니다.

사용법


DOMXPath::evaluate 메서드는 다음과 같은 형식으로 호출됩니다.

#hostingforum.kr
php

$result = $xpath->evaluate($xpath_expression, $context_node, $namespace_map, $is_prefix, $register_node);



* `$xpath_expression`: 평가할 XPath 표현식입니다.
* `$context_node`: 평가할 XPath 표현식을 기준으로 하는 노드입니다. 기본값은 문서의 루트 노드입니다.
* `$namespace_map`: 네임스페이스 맵입니다. 네임스페이스 맵은 네임스페이스 URI와 네임스페이스 프리픽스를 매핑하는 배열입니다.
* `$is_prefix`: 네임스페이스 프리픽스를 사용하는지 여부를 나타내는 부울 값입니다. 기본값은 false입니다.
* `$register_node`: 결과 노드를 등록하는지 여부를 나타내는 부울 값입니다. 기본값은 false입니다.

예제


다음 예제는 `DOMXPath::evaluate` 메서드를 사용하여 XML 문서에서 특정 노드를 찾는 방법을 보여줍니다.

#hostingforum.kr
php

// XML 문서

$xml = 'John Doe30';



// DOMDocument 객체 생성

$doc = new DOMDocument();

$doc->loadXML($xml);



// DOMXPath 객체 생성

$xpath = new DOMXPath($doc);



// XPath 표현식

$xpath_expression = '//name';



// 평가

$result = $xpath->evaluate($xpath_expression);



// 결과 노드 출력

foreach ($result as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소를 찾는 XPath 표현식을 평가합니다. 결과 노드의 노드값이 출력됩니다.

네임스페이스 사용


네임스페이스를 사용하는 경우 네임스페이스 맵을 지정해야 합니다. 다음 예제는 네임스페이스를 사용하는 XPath 표현식을 평가하는 방법을 보여줍니다.

#hostingforum.kr
php

// XML 문서

$xml = 'John Doe30';



// DOMDocument 객체 생성

$doc = new DOMDocument();

$doc->loadXML($xml);



// 네임스페이스 맵

$namespace_map = array('ns' => 'http://example.com/ns');



// DOMXPath 객체 생성

$xpath = new DOMXPath($doc);



// XPath 표현식

$xpath_expression = '//ns:name';



// 평가

$result = $xpath->evaluate($xpath_expression, null, $namespace_map);



// 결과 노드 출력

foreach ($result as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 네임스페이스를 사용하는 XPath 표현식을 평가합니다. 네임스페이스 맵을 지정하여 네임스페이스를 사용하는 XPath 표현식을 평가할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 610 페이지

검색

게시물 검색