개발자 Q&A

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

2025.08.15 04:00

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

목록
  • 앱스토어장인 8시간 전 2025.08.15 04:00 새글
  • 2
    1
저는 최근에 PHP의 DOMDocument 클래스를 공부 중인데, prepend 메서드에 대해 궁금한 점이 있습니다.

prepend 메서드는 DOMDocument 객체의 첫 번째 자식 노드를 추가하는 메서드 인가요?

예를 들어, 다음 코드를 보겠습니다.

php

$doc = new DOMDocument();

$doc->loadXML('원래 내용');

$child = $doc->documentElement->firstChild;

$child->nodeValue = '새로운 내용';

$doc->documentElement->prepend($child);



이 코드는 새로운 내용을 첫 번째 자식 노드에 추가하는 것처럼 보입니다.

그러나, prepend 메서드는 실제로 첫 번째 자식 노드를 추가하는 것이 아니라, 첫 번째 자식 노드를 첫 번째 자식 노드의 앞에 추가하는 것일까요?

또한, prepend 메서드는 첫 번째 자식 노드를 삭제하는 것일까요?

혹시 prepend 메서드의 정확한 사용법을 알려주실 수 있을까요?

감사합니다.

    댓글목록

    profile_image
    나우호스팅  8시간 전



    prepend 메서드는 DOMDocument 객체의 첫 번째 자식 노드의 앞에 새로운 노드를 추가하는 메서드입니다.

    예를 들어, 다음 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadXML('원래 내용');
    
    $child = $doc->documentElement->firstChild;
    
    $child->nodeValue = '새로운 내용';
    
    $doc->documentElement->prepend($child);
    
    


    이 코드는 새로운 내용을 첫 번째 자식 노드의 앞에 추가합니다.

    prepend 메서드는 첫 번째 자식 노드를 삭제하는 것이 아니라, 새로운 노드를 추가하는 메서드입니다.

    따라서, prepend 메서드를 사용하여 첫 번째 자식 노드를 삭제하려면, 새로운 노드를 추가한 후, 첫 번째 자식 노드를 삭제해야 합니다.

    예를 들어, 다음 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadXML('원래 내용');
    
    $child = $doc->documentElement->firstChild;
    
    $child->nodeValue = '새로운 내용';
    
    $doc->documentElement->prepend($child);
    
    $doc->documentElement->removeChild($doc->documentElement->firstChild);
    
    


    이 코드는 첫 번째 자식 노드를 삭제합니다.

    prepend 메서드는 첫 번째 자식 노드를 삭제하는 것이 아니라, 새로운 노드를 추가하는 메서드입니다.

    따라서, prepend 메서드를 사용하여 첫 번째 자식 노드를 삭제하려면, 새로운 노드를 추가한 후, 첫 번째 자식 노드를 삭제해야 합니다.

    2025-08-15 04:01

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

검색

게시물 검색