浅析PHP对XML文档的基本操作

时间:2022-05-23 12:09:43

浅析PHP对XML文档的基本操作

摘 要:通过php的预定义类,PHP可以在任何时候操作xml文档中的数据,实现文档内容的显示、添加、修改、删除。

关键词:PHP;XML;类定义;操作

1 创建XML文档

如有以下class.xml文档。

2 PHP对XML文档的操作

2.1 PHP实现对XML文档结构的遍历与内容的显示

要实现对XML文档结构的遍历与内容的显示,则需要用到以下方法:

⑴Load():Mixed load(string filename);用于加载一个filename指定名称的xml文件。

⑵getElementByTagName():DOMNodeListgetElementByTagNames(string name);返回一个节点列表,参数name为指定标签的名称。

⑶item():DomNode item(int index);返回dom节点列表中的指定节点,参数index为指定的项数。

⑷显示class.xml内容的相关代码:

$dom=new DOMDocument;

$dom->load("class.xml");

$root=$dom->getElementsByTagName("CLASS");

$root=$root->item(0);

$uid=$dom->getElementsByTagName("STUDENT");

foreach ($uid as $uidData){

foreach ($uidData->attributes as $attrib){

echo $attribName=$attrib->nodeName.":";

echo $attribValue=$attrib->nodeValue;

echo "

";}}?>。

2.1 添加XML数据

添加XML数据就是对其节点的操作,相关步骤如下:

⑴找到需要添加节点的父节点

$root=$dom->getElementsByTagName("CLASS");

$root=$root->item(0);

⑵在这个父节点中创建子节点

$newclass=$root->appendChild(new DOMElement('STUDENT'));

⑶在子节点中添加属性和值

$newclass->setAttributeNode(new DOMAttr("attributename", "values"));其中"attributename"为子节点中的属性名,"values"为添加的属性值。

⑷保存文件。$dom->save("class.xml");

⑸向class.xml文档中添加数据的主要代码是:

$newclass->setAttributeNode(new DOMAttr("no", "003"));

$newclass->setAttributeNode(new DOMAttr("name", "alice"));

$newclass->setAttributeNode(newDOMAttr("tel","027567"));

$dom->save("class.xml");

2.3 修改XML数据

对XML文档数据的修改,其实就是找到满足条件的节点记录,对相应的属性赋予新的值,并添加到原来的XML文件中,还是以class.xml文件为例,主要代码是:

foreach ($class as $newchann){

foreach ($newchann->attributes as $newAttri){

if($newAttri->nodeName=="no"){

if($newAttri->nodeValue=="003"){

$newchann->setAttribute("tel","888888");//使用函数对tel的值进行更改}}。

2.4 删除XML数据

对XML数据的删除,主要用到了函数 DOMNode removeChild(DOMNode oldnode),

DOMNode oldnode为要删除的某个数据项,并将删除的后的文档数据重新存于另外一个xml文档。主要代码为:

$del=$class->item(1);

$all->removeChild($del);

$dom->save("temp.xml");

$dom->load("temp.xml");表示删除后的XML数据将保存在temp.xml文件中。

3 结语

PHP操作XML文件,主要是应用PHP预定义的用于操作XML文件的类及类中相关的方法实现的,在目前常见的新闻、论坛中,通过读取XML文件中的数据显示、添加、修改相关内容都是在以上基础操作上再次细化设计而成,其应用成果都得以广范应用。

[参考文献]

[1]许登旺,邹天思,潘凯华.PHP程序开发范例宝典.明日科技.人民邮电出版社,2007.10.

[2]丘广华,张文敏.XML编程实例教程.科学出版社,2004.04.

上一篇:探析中小企业电子信息安全技术 下一篇:浅析低成本公共信息平台建设和应用研究