라이브러리

[PHP] DOMXPath::query - 주어진 XPath 표현식을 평가합니다.




DOMXPath::query란?

DOMXPath::query는 PHP의 DOMDocument 클래스를 사용하여 XML 문서에서 특정 노드를 검색하는 데 사용되는 메서드입니다. 이 메서드는 XPath 표현식을 사용하여 노드를 검색할 수 있습니다.

DOMXPath::query 사용 예제

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person/name');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식

XPath 표현식은 XML 문서에서 노드를 검색하는 데 사용되는 언어입니다. 예를 들어, 다음 XPath 표현식은 XML 문서에서 `` 요소를 검색합니다.

#hostingforum.kr
php

//person



이 표현식은 XML 문서의 루트 요소에서 `` 요소를 검색합니다.

XPath 표현식 예제

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문 + 노드 선택)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]/name');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소의 `` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문 + 노드 선택 + 노드의 자식 노드)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]/name/following-sibling::age');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소의 `` 요소의 다음 형제 노드인 `` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문 + 노드 선택 + 노드의 자식 노드 + 노드의 자식 노드의 자식 노드)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]/name/following-sibling::age/following-sibling::address');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소의 `` 요소의 다음 형제 노드인 `` 요소의 다음 형제 노드인 `
` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문 + 노드 선택 + 노드의 자식 노드 + 노드의 자식 노드의 자식 노드 + 노드의 자식 노드의 자식 노드의 자식 노드)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]/name/following-sibling::age/following-sibling::address/following-sibling::phone');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소의 `` 요소의 다음 형제 노드인 `` 요소의 다음 형제 노드인 `
` 요소의 다음 형제 노드인 `` 요소를 검색하여 노드의 값을 출력합니다.

XPath 표현식 예제 (조건문 + 노드 선택 + 노드의 자식 노드 + 노드의 자식 노드의 자식 노드 + 노드의 자식 노드의 자식 노드의 자식 노드 + 노드의 자식 노드의 자식 노드의 자식 노드의 자식 노드)

#hostingforum.kr
php

// XML 문서를 생성합니다.

$xml = new DOMDocument();

$xml->loadXML('John30Jane25');



// DOMXPath 객체를 생성합니다.

$xpath = new DOMXPath($xml);



// XPath 표현식을 사용하여 노드를 검색합니다.

$nodes = $xpath->query('//person[age>25]/name/following-sibling::age/following-sibling::address/following-sibling::phone/following-sibling::email');



// 검색된 노드의 값을 출력합니다.

foreach ($nodes as $node) {

    echo $node->nodeValue . "
";

}



이 예제에서는 XML 문서에서 `` 요소의 `age` 속성이 25보다 큰 요소의 `` 요소의 다음 형제 노드인 `` 요소의 다음 형제 노드인 `
` 요소의 다음 형제 노드인 `` 요소의 다음 형제 노드인 `` 요소를 검색하여 노드의 값을 출력합니다.

이 예제는 XPath 표현식의 사용을 보여주며, XML 문서에서 노드를 검색하는 데 사용할 수 있습니다.

  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색