怎么在php中利用DOMElement对xml文档进行

介绍

本篇文章给大家分享的是有关怎么在php中利用DOMElement对xml文档进行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

代码如下:


& lt; ?php
html美元//html存储到变量中。
$ html=? lt; html>
& lt; head>拉克什Verma<
& lt; title>;/title>
& lt;/head>
& lt; body>https://www.yisu.com/zixun/
& lt; a href=" http://example.com ">
示例& lt;谷歌https://www.yisu.com/zixun/a href=" http://google.com ">
& lt;雅虎https://www.yisu.com/zixun/a href=" http://www.yahoo.com ">
& lt;/body>
& lt;/html>“;
dom美元=new DOMDocument ();
dom→美元loadHTML (html);
//评估锚标记HTML
xpath=new DOMXPath美元($ dom);
$ href=$ xpath→评估(“/html/身体//a");
($ i=0;美元我& lt;href→美元长度;$我+ +){
href=https://www.yisu.com/zixun/href美元->项目($ i);
$ url=$ href→getAttribute (& # 39; href # 39;);
//删除和设置目标属性
href→美元removeAttribute(& # 39;目标# 39;);
href→美元setAttribute (“target",“_blank");
newURL美元=$ url !”.au";
//删除和设置href属性
href→美元removeAttribute (& # 39; href # 39;);
href→美元setAttribute (“href", newURL美元);
}
//保存html
html=dom→美元saveHTML ();
echo $ html;
?比;


2例

代码如下:


/* & lt; ?xml version=?.0”;编码=癠TF-8"独立=皀o" ?比;
& lt; !——css的样式定义,不加点。如:{颜色:红色;},在名称;
& lt; ?xml样式表类型=拔谋?css"href=https://www.yisu.com/zixun/癱ss.css”?>
& lt; !——引入dtd文档定义文件(根元素:班级)& lt; !DOCTYPE班级系统“class.dtd"/比;——比;
& lt; !——& lt; !DOCTYPE班级[
& lt; !元素班级(学生+)比;
& lt; !元素学生(名字,年龄,介绍)比;
& lt; !元素名字(# PCDATA)比;
& lt; !元素年龄(# PCDATA)比;
& lt; !元素介绍(# PCDATA)比;
)/比;——比;
& lt;班级比;
& lt;学生数量=?01“比;
& lt;名字在孙悟空& lt;/名字比;
& lt;名字在孙行者& lt;/名字比;
& lt;年龄在123 & lt;/年龄比;
& lt;介绍祝辞& lt; ! [CDATA[, * $ %特殊字串^,# $,]]祝辞& lt;/介绍比;
& lt;/学生比;
& lt;学生数量=?0,”2“比;
& lt;名字在白骨精& lt;/名字比;
& lt;年龄在140 & lt;/年龄比;
& lt;介绍祝辞介绍内容& lt;/介绍比;
& lt;/学生比;
& lt;/班级比;
*/
xmldoc美元=new DOMDocument (& # 39; 1.0 & # 39; & # 39; utf - 8 # 39;);
xmldoc→美元加载(& # 39;datas.xml& # 39;);
itemsNodeList=xmldoc→美元getElementsbyTagName(& # 39;学生& # 39;);
itemElement=itemsNodeList→美元项目(0);//得到第一个完整的学生信息节点
itemChildsNodeList=itemElement→美元getElementsbyTagName(& # 39;名字& # 39;);//得到子节点“名”字,也许有多个名字
itemChildNode=itemChildsNodeList→美元项目(0);//得到第一个名字节点
echo $ itemChildNode→nodeValue;//输出节点值
//封装成函数
$ nodeArr=数组(& # 39;名字& # 39;,& # 39;年龄& # 39;,& # 39;介绍& # 39;);
函数getNodeVal (xmldoc, itemsName美元,nodeArr美元){
项=xmldoc→美元getElementsByTagName ($ itemsName);
($ i=0;美元我& lt;美元项目→长度;$我+ +){
项=项目→美元项目($ i);
foreach (nodeArr美元美元节点){
$ data [$ i][]=$项→getElementsByTagName(节点)→项目(0)→nodeValue;
}
}
返回元数据;
}
$ data=https://www.yisu.com/zixun/getNodeVal (xmldoc,美元的学生的,nodeArr美元);
print_r(元数据);

以上就是怎么在php中利用DOMElement对xml文档进行,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

怎么在php中利用DOMElement对xml文档进行