이 글은 주로 DOMDocument를 기반으로 PHP의 xml을 파싱하고 생성하는 방법을 소개합니다. DOMDocument를 사용하여 PHP의 다양한 일반적인 운영 기술을 분석하여 xml 노드를 구문 분석하고 특정 예제를 기반으로 xml 파일을 생성하는 방법을 참고할 수 있습니다
1. xml
DOMDocument 작업 xml의 생성은 이전 simplexml보다 조금 더 복잡합니다. 저는 simplexml이 Java의 dom4j와 같다고 생각합니다. DOMDocument의 노드와 속성이 가지와 잎으로 간주되면 DOMDocument의 DOMDocument는 루트이고 노드와 속성은 모두 이 객체 아래에 마운트됩니다. 아래 코드를 보면 아주 명확할 것입니다
<?php $doc=new DOMDocument('1.0','utf-8'); //创建根节点 $root=$doc->createElement("StudentInfo"); //创建第一个子节点 $item=$doc->createElement("Item"); $name=$doc->createElement("name","蔡依林"); $studentnum=$doc->createElement("num","2009010502"); //创建属性(phpdom可以把任何元素当做子节点) $id=$doc->createAttribute("id"); $value=$doc->createTextNode('1'); $id->appendChild($value); //在父节点下面加入子节点 $item->appendChild($name); $item->appendChild($studentnum); $item->appendChild($id); $item2=$doc->createElement("Item"); $name2=$doc->createElement("name","潘玮柏"); $studentnum2=$doc->createElement("num","2009010505"); $id2=$doc->createAttribute("id"); $value2=$doc->createTextNode('2'); $id2->appendChild($value2); $item2->appendChild($name2); $item2->appendChild($studentnum2); $item2->appendChild($id2); $root->appendChild($item); $root->appendChild($item2); //把根节点挂载在DOMDocument对象 $doc->appendChild($root); header("Content-type: text/xml"); //在页面上输出xml echo $doc->saveXML(); //将xml保存成文件 $doc->save("stu.xml"); ?>
이 코드를 자세히 보면 실제로는 id 속성에 대해서도 약간의 의구심이 생길 수 있습니다. DOMDocument 아래에 배치한 다음 Text 노드를 속성 아래에 마운트합니다. 생성된 xml을 살펴보겠습니다
사실 DOMDocument는 노드나 속성을 먼저 생성하고 addchild
2를 통해 최종적으로 xml의 계층적 관계가 반영됩니다. 분석 중요한 것은 getElementsByTagName 메소드, 속성 및 항목이 XML 구문 분석의 초점이라는 것을 이해하는 것입니다. 다른 모든 것은 매우 간단합니다. 구문 분석된 내용을 살펴보십시오.
일반적으로 말해서 simplexml보다 조금 더 번거롭지만 프로그래머로서 여전히 허용됩니다.
관련 권장 사항:
PHP가 DOMDocument을 사용하여 xml
PHP XML 작업 클래스 DOMDocument
을 사용하는 방법에 대한 자세한 설명
위 내용은 PHP가 DOMDocument를 기반으로 XML 구문 분석 및 생성을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!