라이브러리

[PHP] DOMDocument::loadXML - 문자열에서 XML 로드




DOMDocument::loadXML


PHP의 DOMDocument 클래스는 XML 문서를 다루기 위한 클래스입니다. DOMDocument::loadXML 메소드는 XML 문자열을 DOMDocument 객체로 변환하는 메소드입니다.

# 사용법


DOMDocument::loadXML 메소드는 XML 문자열을 파라미터로 받고, 그 XML 문자열을 DOMDocument 객체로 변환합니다. 변환된 DOMDocument 객체는 XML 문서의 구조를 나타내는 트리 구조의 객체입니다.

# 예제


#hostingforum.kr
php

<?php



// XML 문자열

$xmlString = '



    John

    30

    New York



';



// DOMDocument 객체 생성

$doc = new DOMDocument();



// XML 문자열을 DOMDocument 객체로 변환

$doc->loadXML($xmlString);



// XML 문서의 구조를 출력

echo $doc->saveXML();



?>



# 결과


#hostingforum.kr
xml

<?xml version="1.0"?>



    John

    30

    New York





# 예제 설명


위 예제에서, `DOMDocument` 객체를 생성하고 `loadXML` 메소드를 호출하여 XML 문자열을 파라미터로 전달합니다. 이 메소드는 XML 문자열을 DOMDocument 객체로 변환하고, 그 객체를 `$doc` 변수에 저장합니다.

그런 다음, `$doc->saveXML()` 메소드를 호출하여 XML 문서의 구조를 문자열로 변환하고, 그 문자열을 출력합니다. 결과는 XML 문서의 구조가 포함된 XML 문자열이 됩니다.

# DOMDocument::loadXML 에러 처리


`DOMDocument::loadXML` 메소드는 XML 문자열이 잘못된 경우 예외를 발생시킵니다. 예를 들어, XML 문자열이 잘못된 태그 이름을 포함하는 경우, `DOMDocument` 객체는 예외를 발생시킵니다.

#hostingforum.kr
php

<?php



// XML 문자열

$xmlString = '



    John

    30

    New York



';



// DOMDocument 객체 생성

$doc = new DOMDocument();



// XML 문자열을 DOMDocument 객체로 변환

try {

    $doc->loadXML($xmlString);

} catch (Exception $e) {

    echo 'XML 문자열이 잘못되었습니다.';

    echo '에러 메시지: ' . $e->getMessage();

}



?>



# 결과


#hostingforum.kr


XML 문자열이 잘못되었습니다.

에러 메시지: Extra content at the end of the document



# 예제 설명


위 예제에서, `DOMDocument::loadXML` 메소드를 호출하기 전에 예외 처리를 추가합니다. XML 문자열이 잘못된 경우, `$doc->loadXML($xmlString)` 메소드는 예외를 발생시키고, 예외 처리 블록으로 전달됩니다.

예외 처리 블록에서, `echo` 문을 사용하여 XML 문자열이 잘못된 것을 출력하고, `에러 메시지`를 출력합니다. 결과는 XML 문자열이 잘못된 것을 나타내는 문자열이 됩니다.

# DOMDocument::loadXML 사용 사례


`DOMDocument::loadXML` 메소드는 XML 문서를 다루기 위한 다양한 사례에 사용할 수 있습니다. 예를 들어, XML 문서를 파싱하고, XML 데이터를 변환하고, XML 문서를 생성하는 등입니다.

#hostingforum.kr
php

<?php



// XML 문자열

$xmlString = '



    John

    30

    New York



';



// DOMDocument 객체 생성

$doc = new DOMDocument();



// XML 문자열을 DOMDocument 객체로 변환

$doc->loadXML($xmlString);



// XML 데이터를 변환

$names = array();

foreach ($doc->getElementsByTagName('name') as $name) {

    $names[] = $name->nodeValue;

}



// XML 데이터를 출력

echo '이름: ' . implode(', ', $names);



?>



# 결과


#hostingforum.kr


이름: John



# 예제 설명


위 예제에서, `DOMDocument::loadXML` 메소드를 호출하여 XML 문자열을 파라미터로 전달합니다. 그 후, `$doc->getElementsByTagName('name')` 메소드를 호출하여 XML 문서의 `` 태그를 모두 가져옵니다.

그런 다음, `foreach` 문을 사용하여 `` 태그의 노드 값을 가져와 `$names` 배열에 추가합니다. `$names` 배열을 출력하여 XML 데이터를 변환하고, 그 결과를 출력합니다.

# DOMDocument::loadXML 결론


`DOMDocument::loadXML` 메소드는 XML 문자열을 DOMDocument 객체로 변환하는 메소드입니다. 이 메소드는 XML 문서의 구조를 다루기 위한 다양한 사례에 사용할 수 있습니다. 예를 들어, XML 문서를 파싱하고, XML 데이터를 변환하고, XML 문서를 생성하는 등입니다.

`DOMDocument::loadXML` 메소드는 XML 문자열이 잘못된 경우 예외를 발생시키므로, 예외 처리를 추가하여 예외를 처리할 수 있습니다. 예를 들어, XML 문자열이 잘못된 경우, `$doc->loadXML($xmlString)` 메소드는 예외를 발생시키고, 예외 처리 블록으로 전달됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 616 페이지

검색

게시물 검색