
DOMDocument::getElementsByTagNameNS 함수는 이름공간을 지정하여 XML 문서 내의 태그를 검색하는 함수입니다. 이름공간을 지정하지 않으면, 이름공간이 없는 태그를 검색합니다.
예를 들어, XML 문서에 다음과 같은 태그가 존재할 경우:
#hostingforum.kr
xml
<태그1>값1태그1>
<태그2>값2태그2>
이름공간을 지정하지 않고 태그 이름이 '태그1'인 태그를 검색하려면 다음과 같이 사용할 수 있습니다:
#hostingforum.kr
php
$doc = new DOMDocument();
$doc->loadXML('<태그1>값1태그1><태그2>값2태그2>');
$tags = $doc->getElementsByTagName('태그1');
foreach ($tags as $tag) {
echo $tag->nodeValue . "n";
}
이름공간을 지정하지 않고 태그 이름이 '태그2'인 태그를 검색하려면 다음과 같이 사용할 수 없습니다. 태그 이름이 '태그2'인 태그는 이름공간이 지정되어 있으므로, 이름공간을 지정하지 않으면 찾을 수 없습니다.
#hostingforum.kr
php
$doc = new DOMDocument();
$doc->loadXML('<태그1>값1태그1><태그2>값2태그2>');
$tags = $doc->getElementsByTagName('태그2');
// 태그가 없을 때 예외가 발생하지 않도록 null 체크를 해주어야 함.
if ($tags !== null) {
foreach ($tags as $tag) {
echo $tag->nodeValue . "n";
}
} else {
echo "태그가 없습니다.n";
}
이름공간을 지정하지 않고 태그 이름이 '태그2'인 태그를 검색하려면 이름공간을 지정해야 합니다. 예를 들어, 다음과 같이 사용할 수 있습니다:
#hostingforum.kr
php
$doc = new DOMDocument();
$doc->loadXML('<태그1>값1태그1><태그2>값2태그2>');
$tags = $doc->getElementsByTagNameNS('http://example.com', '태그2');
if ($tags !== null) {
foreach ($tags as $tag) {
echo $tag->nodeValue . "n";
}
} else {
echo "태그가 없습니다.n";
}
이러한 예제를 통해 DOMDocument::getElementsByTagNameNS 함수를 사용하여 이름공간을 지정하여 XML 문서 내의 태그를 검색하는 방법을 이해할 수 있습니다.
2025-07-31 17:19