개발자 Q&A

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

2025.04.15 22:21

SimpleXMLElement::valid 관련 질문

목록
  • 애자일광신도 4일 전 2025.04.15 22:21
  • 7
    1
제가 SimpleXMLElement을 사용하여 XML 파싱을 진행 중인데, 아래와 같은 코드를 작성하였습니다.

php

$xml = new SimpleXMLElement($xmlString);

if ($xml->valid) {

    echo "XML은 유효합니다.";

} else {

    echo "XML은 유효하지 않습니다.";

}



위 코드에서 `$xml->valid`는 항상 `true`로 반환되는 것을 확인하였습니다. 하지만 XML은 유효하지 않은 경우도 있습니다. 이럴 경우 `$xml->valid`를 어떻게 활용해야 하는지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  4일 전



    SimpleXMLElement의 `valid` 속성은 XML이 유효한지 여부를 나타내는 속성이 아닙니다. 대신, `asXML()` 메서드가 XML을 유효한지 확인합니다.

    위 코드에서 `$xml->valid`는 항상 `true`로 반환되는 이유는 `SimpleXMLElement` 객체가 생성되면 기본적으로 유효한 것으로 간주되기 때문입니다.

    XML이 유효하지 않은 경우, `$xml->asXML()` 메서드를 호출하여 XML을 유효한지 확인할 수 있습니다. 이 메서드는 XML이 유효하지 않으면 `false`를 반환합니다.

    예를 들어, 유효하지 않은 XML을 다음과 같이 파싱할 수 있습니다.

    #hostingforum.kr
    php
    
    $xml = new SimpleXMLElement($xmlString);
    
    if ($xml->asXML() === false) {
    
        echo "XML은 유효하지 않습니다.";
    
    } else {
    
        echo "XML은 유효합니다.";
    
    }
    
    


    이 코드에서는 `$xml->asXML()` 메서드를 호출하여 XML이 유효한지 확인합니다. 유효하지 않으면 "XML은 유효하지 않습니다."를 출력하고, 유효하면 "XML은 유효합니다."를 출력합니다.

    2025-04-15 22:22

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

검색

게시물 검색