前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中DOM操作

PHP中DOM操作

作者头像
用户7886150
修改2021-02-26 10:11:51
8010
修改2021-02-26 10:11:51
举报
文章被收录于专栏:bit哲学院

参考链接: php中$与$$

一个简单的例子 

<?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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档