PHP5는 향상된 XML 지원 기능을 갖추고 있으며 DOM을 사용하여 XML 작업 기능을 확장합니다. 이러한 기능은 PHP5 코어의 일부이므로 사용하기 위해 설치할 필요가 없습니다.
다음 예는 XML에서 DOM의 작동을 간단하게 보여줍니다. 자세한 설명은
/************************************************
* * PHP5에서 XML 사용
** 참고 사이트:
** http://cn.php.net/manual/zh/ref.dom.php
** 다음 코드에는 PHP5 지원이 필요함
** www.knowsky.com
*************************************** **********/
//먼저 DOMDocument 객체를 생성합니다.
$dom = new DomDocument()
//그런 다음 XML 파일을 로드합니다.
$dom -> " );
//XML 파일 출력
//header("Content-type: text/xml;charset=gb2312");
//echo $dom -> saveXML() ;
//XML 파일을 저장합니다. 반환 값은 int(파일 크기(바이트))입니다.
//$dom -> save("newfile.xml"); echo "
모든 제목 요소 가져오기:
"
$titles = $dom -> getElementsByTagName("title")
foreach($titles를 $ 노드로);
{
echo $node -> textContent . "
"
//이것도 작동합니다.
//echo $node->firstChild->data
";
}
/*
echo "
루트 노드에서 모든 노드 탐색:
";
foreach ($dom->documentElement->childNodes as $items) {
//노드가 요소(nodeType == 1)이고 이름이 항목인 경우 계속 루프
if ($items - >nodeType == 1 && $items->nodeName == "item") {
foreach ($items->childNodes as $titles) {
//노드가 요소이고 이름이 제목인 경우 인쇄합니다.
if ($titles->nodeType == 1 && $titles->nodeName == "title") {
print $titles->textContent "n" ;
}
}
}
}
*/
//XPath를 사용하여 데이터 쿼리
echo "
XPath를 사용하여 쿼리 타이틀 노드 결과:
";
$xpath = new domxpath($dom);
$titles = $xpath->query("/rss/channel/item/title") ;
foreach ($titles as $node)
{
echo $node->textContent."
"
}
/*
이렇게 하세요 getElementsByTagName() 메서드는 비슷하지만 Xpath가 훨씬 더 강력합니다.
더 자세히 살펴보면 다음과 같습니다.
/rss/channel/item[position() = 1]/title 의 모든 요소를 반환합니다. 첫 번째 항목 요소
/rss/ 채널/item/title[@id = '23'] id 속성을 포함하는 모든 제목을 반환하고 값은 23입니다.
/rss/channel/&folder&/title 아래의 모든 제목을 반환합니다. 기사 요소 (번역자 주: &folder&는 Depth 디렉토리를 나타냄)
*/
위는 PHP5에서 DOM을 사용하여 XML(1)을 제어하는 내용입니다. 더 많은 관련 기사를 확인하세요. PHP 중국어 웹사이트(www.php.cn)를 주목하세요!