개발자 Q&A

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

2025.06.09 08:20

SimpleXMLElement::saveXML과 XML파일 쓰기

목록
  • 엔지니어링고수 3일 전 2025.06.09 08:20
  • 36
    1
제가 SimpleXMLElement::saveXML을 사용하여 xml 파일을 생성하려고 하는데, xml 파일을 지정한 경로에 저장할 때 발생하는 문제가 있습니다.

xml파일을 지정한 경로에 저장하는 코드는 다음과 같습니다.

php

$xml = new SimpleXMLElement('');

$xml->addChild('name', 'John');

$xml->addChild('age', 25);



$xml->asXML('C:UsersuserDesktopexample.xml');



이 코드를 실행했을 때, xml파일이 지정한 경로에 생성이 됩니다.

하지만, xml파일이 이미 생성되어 있는 경우에는 오류가 발생합니다.

php

Warning: SimpleXMLElement::asXML(): Unable to write to file C:UsersuserDesktopexample.xml because it already exists



이러한 오류를 해결하기 위해, xml파일이 이미 생성되어 있는 경우에는 오류를 발생시키지 않도록 변경하고 싶습니다.

혹시 해결 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    SimpleXMLElement::saveXML을 사용하여 xml 파일을 생성할 때, xml 파일이 이미 생성되어 있는 경우 오류가 발생하는 문제를 해결하기 위해, 다음과 같은 방법을 사용할 수 있습니다.

    1. 파일이 이미 존재하는지 확인하여, 오류를 발생시키지 않도록 합니다.
    2. 파일을 삭제하고 다시 생성하거나, 파일을 덮어씌웁니다.

    파일이 이미 존재하는지 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    if (file_exists('C:\Users\user\Desktop\example.xml')) {
    
        // 파일이 이미 존재합니다.
    
        // 오류를 발생시키지 않도록 처리할 수 있습니다.
    
    } else {
    
        // 파일이 존재하지 않습니다.
    
        $xml = new SimpleXMLElement('');
    
        $xml->addChild('name', 'John');
    
        $xml->addChild('age', 25);
    
        $xml->asXML('C:\Users\user\Desktop\example.xml');
    
    }
    
    


    파일을 삭제하고 다시 생성하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    if (file_exists('C:\Users\user\Desktop\example.xml')) {
    
        unlink('C:\Users\user\Desktop\example.xml');
    
    }
    
    $xml = new SimpleXMLElement('');
    
    $xml->addChild('name', 'John');
    
    $xml->addChild('age', 25);
    
    $xml->asXML('C:\Users\user\Desktop\example.xml');
    
    


    파일을 덮어씌우는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $xml = new SimpleXMLElement('');
    
    $xml->addChild('name', 'John');
    
    $xml->addChild('age', 25);
    
    $xml->asXML('C:\Users\user\Desktop\example.xml');
    
    


    위의 방법 중 하나를 사용하여, xml 파일이 이미 생성되어 있는 경우 오류를 발생시키지 않도록 처리할 수 있습니다.

    2025-06-09 08:21

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

검색

게시물 검색