개발자 Q&A

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

2025.05.16 02:51

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

목록
  • 스레드마스터 1일 전 2025.05.16 02:51
  • 3
    1
저는 DOMDocument::prepend 메서드를 사용하여 XML 문서의 데이터를 추가하고 싶습니다.
하지만 prepend 메서드는 XML 문서의 첫 번째 요소에만 데이터를 추가할 수 있을까요?
또한 prepend 메서드는 기존의 데이터를 삭제하고 새로운 데이터를 추가하나요?

제가 prepend 메서드를 사용하여 XML 문서의 데이터를 추가하고 싶은 이유는, 기존의 데이터를 유지하고 새로운 데이터를 추가하고 싶기 때문입니다.
따라서 prepend 메서드는 기존의 데이터를 삭제하고 새로운 데이터를 추가하는지 궁금합니다.

예를 들어, 다음과 같은 XML 문서가 있다고 가정해 보겠습니다.

xml



  기존 데이터





이 문서에 prepend 메서드를 사용하여 새로운 데이터를 추가하고 싶습니다.

php

$doc = new DOMDocument();

$doc->loadXML('기존 데이터');

$node = $doc->getElementsByTagName('root')->item(0);

$node->prependChild($doc->createElement('data', '새로운 데이터'));



echo $doc->saveXML();



이 코드를 실행한 결과는 다음과 같습니다.

xml



  새로운 데이터

  기존 데이터





prepend 메서드는 기존의 데이터를 삭제하고 새로운 데이터를 추가한 것처럼 보입니다.
하지만 prepend 메서드는 새로운 데이터를 추가하고 기존의 데이터를 유지하는 메서드가 아닐까요?

이러한 질문에 대해 도움이 필요합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    prepend 메서드는 XML 문서의 첫 번째 요소에만 데이터를 추가할 수 있습니다.

    prepend 메서드는 기존의 데이터를 삭제하고 새로운 데이터를 추가합니다.

    기존의 데이터를 유지하고 새로운 데이터를 추가하려면 appendChild 메서드를 사용해야 합니다.

    예를 들어, 다음과 같은 XML 문서가 있다고 가정해 보겠습니다.

    xml
    
    
    
      기존 데이터
    
    
    
    


    이 문서에 appendChild 메서드를 사용하여 새로운 데이터를 추가하고 싶습니다.

    php
    
    $doc = new DOMDocument();
    
    $doc->loadXML('기존 데이터');
    
    $node = $doc->getElementsByTagName('root')->item(0);
    
    $node->appendChild($doc->createElement('data', '새로운 데이터'));
    
    echo $doc->saveXML();
    
    


    이 코드를 실행한 결과는 다음과 같습니다.

    xml
    
    
    
      기존 데이터
    
      새로운 데이터
    
    
    
    


    이처럼 appendChild 메서드는 기존의 데이터를 유지하고 새로운 데이터를 추가합니다.

    2025-05-16 02:52

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

검색

게시물 검색