라이브러리
[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)` 메소드는 예외를 발생시키고, 예외 처리 블록으로 전달됩니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.