
SimpleXMLElement 클래스의 registerXPathNamespace 메소드는 XPath 표현식에서 namespace를 사용할 수 있도록 namespace를 등록하는 데 사용됩니다.
registerXPathNamespace 메소드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 namespace prefix, 두 번째 매개변수는 namespace URI입니다.
예를 들어, 다음과 같은 XML 구조가 있을 때 namespace를 등록하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$xml = new SimpleXMLElement('
값1
값2
');
$xml->registerXPathNamespace('ns', 'http://example.com/ns');
$result = $xml->xpath('//ns:element1');
echo $result[0]; // 값1
위의 예제에서, `ns` namespace prefix를 등록하고, `http://example.com/ns` namespace URI를 지정합니다. 그런 다음, XPath 표현식 `//ns:element1`을 사용하여 namespace를 사용하는 element1을 파싱합니다.
registerXPathNamespace 메소드는 여러 번 호출할 수 있습니다. 예를 들어, 다음과 같은 XML 구조가 있을 때 namespace를 등록하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$xml = new SimpleXMLElement('
값1
값2
');
$xml->registerXPathNamespace('ns1', 'http://example.com/ns1');
$xml->registerXPathNamespace('ns2', 'http://example.com/ns2');
$result1 = $xml->xpath('//ns1:element1');
$result2 = $xml->xpath('//ns2:element2');
echo $result1[0]; // 값1
echo $result2[0]; // 값2
위의 예제에서, `ns1` namespace prefix와 `ns2` namespace prefix를 등록하고, 각각 `http://example.com/ns1` namespace URI와 `http://example.com/ns2` namespace URI를 지정합니다. 그런 다음, XPath 표현식 `//ns1:element1`과 `//ns2:element2`을 사용하여 namespace를 사용하는 element1과 element2를 파싱합니다.
2025-08-03 00:03