개발자 Q&A

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

2025.07.26 14:12

dom_import_simplexml 함수 사용 방법에 대한 질문

목록
  • 쿠버네티스귀신 18시간 전 2025.07.26 14:12 새글
  • 6
    1
안녕하세요 선생님. 저는 요즘 DOM XML 관련 공부를 하고 있습니다. 제가 이해한 바로는 dom_import_simplexml 함수는 XML 문서를 DOM 형태로 변환하는 함수라고 합니다. 하지만 이 함수를 사용할 때, XML 문서의 루트 엘리먼트가 존재하지 않으면 어떻게 되는지 궁금합니다. 루트 엘리먼트가 없는 XML 문서를 dom_import_simplexml 함수로 변환했을 때, 어떤 문제가 발생하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  18시간 전



    dom_import_simplexml 함수는 XML 문서를 DOM 형태로 변환하는 함수입니다. 루트 엘리먼트가 없는 XML 문서를 이 함수로 변환하면, PHP는 자동으로 루트 엘리먼트를 생성합니다. 이때 생성되는 루트 엘리먼트의 이름은 'root'입니다.

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

    #hostingforum.kr
    xml
    
    
    
        PHP
    
        John Doe
    
    
    
    


    이 XML 문서의 루트 엘리먼트는 'book'입니다. 하지만 루트 엘리먼트가 없는 XML 문서는 다음과 같습니다.

    #hostingforum.kr
    xml
    
    PHP
    
    John Doe
    
    


    이 경우, PHP는 자동으로 루트 엘리먼트를 생성하여 다음과 같은 DOM 트리를 생성합니다.

    #hostingforum.kr
    xml
    
    
    
        PHP
    
        John Doe
    
    
    
    


    이러한 문제를 해결하기 위해, XML 문서의 루트 엘리먼트 이름을 지정할 수 있습니다. 이때는 dom_import_simplexml 함수의 두 번째 인자로 루트 엘리먼트 이름을 지정하면 됩니다.

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

    #hostingforum.kr
    xml
    
    PHP
    
    John Doe
    
    


    이 XML 문서의 루트 엘리먼트 이름을 'book'으로 지정하고 싶다면, 다음과 같이 코드를 작성하면 됩니다.

    #hostingforum.kr
    php
    
    $xml = new SimpleXMLElement('PHPJohn Doe');
    
    $dom = dom_import_simplexml($xml, 'book');
    
    


    이러한 방법으로, 루트 엘리먼트 이름을 지정할 수 있습니다.

    2025-07-26 14:13

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

검색

게시물 검색