개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.12 19:28

DOMDocument::getElementsByTagNameNS 사용 방법에 대한 질문

목록
  • 백엔드도령 오래 전 2025.06.12 19:28 인기
  • 126
    1
제가 현재 DOMDocument::getElementsByTagNameNS를 사용하여 XML 문서에서 특정 이름스페이스에 속한 태그를 찾고자 하는데, 다음과 같은 오류가 발생합니다.

php

$doc = new DOMDocument();

$doc->loadXML('값');

$tags = $doc->getElementsByTagNameNS('http://example.com/ns', 'tag');



위 코드는 잘 작동하지 않습니다. 태그를 찾을 수 없습니다.

이러한 문제는 이름스페이스와 태그 이름이 일치하지 않기 때문인지, 또는 다른 이유가 있는지 궁금합니다.

해당 방법을 사용하여 이름스페이스에 속한 태그를 찾는 방법이 있나요?

위 코드에서 문제가 발생하는 이유를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    DOMDocument::getElementsByTagNameNS는 XML 문서에서 특정 이름스페이스에 속한 태그를 찾기 위해 사용하는 메서드입니다.

    이 메서드의 첫 번째 인자는 이름스페이스 URI를, 두 번째 인자는 태그 이름을 받습니다.

    위 코드에서 문제는 태그 이름이 일치하지 않기 때문입니다.

    #hostingforum.kr
    php
    
    $tags = $doc->getElementsByTagNameNS('http://example.com/ns', 'ns:tag');
    
    


    위 코드에서 'ns:tag'이 'tag'과 다르기 때문에 태그를 찾을 수 없습니다.

    이름스페이스 URI와 태그 이름을 정확하게 입력해야만 태그를 찾을 수 있습니다.

    #hostingforum.kr
    php
    
    $tags = $doc->getElementsByTagNameNS('http://example.com/ns', 'tag');
    
    


    위 코드에서 'tag'은 'ns:tag'과 일치하지 않기 때문에 태그를 찾을 수 없습니다.

    이름스페이스 URI와 태그 이름을 정확하게 입력해야만 태그를 찾을 수 있습니다.

    #hostingforum.kr
    php
    
    $tags = $doc->getElementsByTagNameNS('http://example.com/ns', 'ns:tag');
    
    


    위 코드에서 'ns:tag'은 이름스페이스 URI와 태그 이름이 정확하게 일치하기 때문에 태그를 찾을 수 있습니다.

    이러한 방법을 사용하여 이름스페이스에 속한 태그를 찾을 수 있습니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadXML('값');
    
    $tags = $doc->getElementsByTagNameNS('http://example.com/ns', 'ns:tag');
    
    foreach ($tags as $tag) {
    
        echo $tag->nodeValue . "n";
    
    }
    
    


    위 코드에서 'ns:tag'은 이름스페이스 URI와 태그 이름이 정확하게 일치하기 때문에 태그를 찾을 수 있습니다.

    이러한 방법을 사용하여 이름스페이스에 속한 태그를 찾을 수 있습니다.

    2025-06-12 19:29

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,408건 / 2 페이지

검색

게시물 검색