一个简单的例子
<?php
//初始化一个DOMDocument
$xml = new DOMDocument('1.0','UTF-8');
//创建一个tag名为people的Element,并添加到DOMDocument中
$people = $xml->createElement('people');
$xml->appendChild($people);
//创建一个tag名为person、值为lily、并带有一个属性id=101的Element,最后添加到people的Element中
$person1 = $xml->createElement('person','lily');
$people->appendChild($person1);
$person1->setAttribute('id',101);
//创建一个tag名为person、值为lucy、并带有一个属性id=102的Element,最后添加到people的Element中
$person2 = $xml->createElement('person','lucy');
$people->appendChild($person2);
$person2->setAttribute('id',102);
echo $xml->saveXML();
创建结点
CDATASection、Comment、TextNode
<?php
$xml = new DOMDocument('1.0','UTF-8');
$people = $xml->createElement('people');
$xml->appendChild($people);
$person1 = $xml->createElement('person');
$people->appendChild($person1);
$person1->setAttribute('id',101);
$name = $xml->createElement('name','lily');
$person1->appendChild($name);
//CDATA
$cdata = $xml->createCDATASection('cdata cdata cdata cdata');
$person1->appendChild($cdata);
//评论
$comment = $xml->createComment('comment comment comment');
$person1->appendChild($comment);
//文本
$textNode = $xml->createTextNode('text text text text');
$person1->appendChild($textNode);
$person2 = $xml->createElement('person');
$people->appendChild($person2);
$person2->setAttribute('id',102);
$name = $xml->createElement('name','lucy');
$person2->appendChild($name);
$xml->save('1.xml');
echo $xml->saveXML();
查找
getElementById,通过ID查找一个getElementByTagName,通过tag名称查找多个
getElementById 有坑
$xml = new DOMDocument();
$xml->load('1.xml');
$nodeList = $xml->getElementsByTagName('person');
foreach ($nodeList as $node){
/** @var DOMNode $node */
echo $node->getNodePath()."\n";
}
输出
/people/person[1]
/people/person[2]
读取
loadXML,从字符串中读取XMLload, 从文件中读取XMLloadHTML,从字符串中读取HTMLloadHTMLFile,从文件中读取HTML
例子
$xml = new DOMDocument();
$xml->load('1.xml');
echo $xml->saveXML();
保存
$xml->save(‘out.xml’)
输出结果到文件中
<?xml version="1.0" encoding="UTF-8"?>
<people><person id="101">lily</person><person id="102">lucy</person></people>
echo $xml->saveXML()
输出结果到控制台中
<?xml version="1.0" encoding="UTF-8"?>
<people><person id="101">lily</person><person id="102">lucy</person></people>
echo $xml->saveHTML()
输出结果到控制台中
<people><person id="101">lily</person><person id="102">lucy</person></people>
echo $xml->saveHTMLFile(‘out.html’)
输出结果到文件中
<people><person id="101">lily</person><person id="102">lucy</person></people>
参考
The DOMDocument class
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有