개발자 Q&A

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

2025.05.08 04:53

DOMDocument::normalizeDocument 관련 질문

목록
  • TypeScript도령 1일 전 2025.05.08 04:53
  • 4
    1
제가 DOMDocument::normalizeDocument 메소드를 사용하여 XML 문서를 정상화할 때 발생하는 문제에 대해 도움을 요청하고 싶습니다.

제가 XML 문서를 다음과 같이 정의하고 있습니다.

xml



       

       

       





DOMDocument::normalizeDocument을 호출하여 XML 문서를 정상화하면 다음과 같이 변환됩니다.

xml



    

    

    





하지만, 제게 궁금한 점은 이 메소드가 공백 문자를 없애는 이유가 무엇이며, 공백 문자를 유지하고 싶다면 어떤 방법을 사용해야 하는지 궁금합니다.

제가 XML 문서에 공백 문자를 유지하고 싶은 이유는, 공백 문자가 의미를 가지고 있는 경우가 많기 때문입니다. 예를 들어, 다음과 같이 XML 문서가 정의되어 있을 때,

xml



       

       

       





공백 문자가 의미를 가지고 있는 경우가 많습니다. 이러한 경우, DOMDocument::normalizeDocument 메소드를 사용하여 XML 문서를 정상화하면 공백 문자가 사라지게 되는데, 이는 의미가 사라지는 결과를 초래합니다.

이러한 문제를 해결하기 위해, 공백 문자를 유지하고 싶은 경우에는 어떻게 해야 하는지 알려주시겠습니까?

    댓글목록

    profile_image
    나우호스팅  1일 전



    DOMDocument::normalizeDocument 메소드는 XML 문서의 공백 문자를 없애는 메소드입니다. 이 메소드는 XML 문서의 공백 문자를 없애기 때문에, 공백 문자가 의미를 가지고 있는 경우에는 이 메소드를 사용하지 않아야 합니다.

    공백 문자가 의미를 가지고 있는 경우에는, DOMDocument::normalizeDocument 메소드를 사용하지 않고 다른 방법으로 XML 문서를 정상화해야 합니다.

    예를 들어, XML 문서의 공백 문자를 유지하고 싶다면, XML 문서를 문자열로 변환하고, 공백 문자를 유지하는 문자열을 생성하는 방법을 사용할 수 있습니다.

    아래 예제는 XML 문서를 문자열로 변환하고, 공백 문자를 유지하는 문자열을 생성하는 방법을 보여줍니다.

    #hostingforum.kr
    php
    
    $xml = '         ';
    
    $doc = new DOMDocument();
    
    $doc->loadXML($xml);
    
    $xml_string = $doc->saveXML();
    
    
    
    // 공백 문자를 유지하는 문자열을 생성
    
    $xml_string = preg_replace('/s+/', ' ', $xml_string);
    
    
    
    echo $xml_string;
    
    


    이 예제에서는 DOMDocument::saveXML 메소드를 사용하여 XML 문서를 문자열로 변환하고, preg_replace 함수를 사용하여 공백 문자를 유지하는 문자열을 생성합니다.

    또한, XML 문서의 공백 문자를 유지하고 싶다면, XML 문서를 생성할 때 공백 문자를 유지하는 방법을 사용할 수 있습니다. 예를 들어, XML 문서를 생성할 때 공백 문자를 유지하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $xml = new DOMDocument();
    
    $xml->formatOutput = true;
    
    $xml->loadXML('         ');
    
    $xml->saveXML('output.xml');
    
    


    이 예제에서는 XML 문서를 생성할 때 formatOutput 속성을 true로 설정하여 공백 문자를 유지하는 방법을 사용합니다.

    2025-05-08 04:54

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

검색

게시물 검색