我一直在不远的将来看PHP的教学视频,其中PHP操作XML文档和一点点DOMDocument。我的手册是全英文的,我不太清楚,但我还是写一个类实现的XML节点,修改节点值。背景解说完毕,和代码如下:
复制代码代码如下所示:
*



孙悟空
猴王
猴子猴子



白骨精
一百四十
无数


猪八戒
无能的猪
二百
可以吃和睡


* /
类XMLDOM {
公共版;
公开编码;
私有xml;
私人项目;
私人seachnode美元=;
私人seachitem美元=;
私人seachvalue美元=;
公共writebytes = 0美元;
功能__construct($ xmlfile = '',版本= '1.0美元,美元'utf-8 encoding=){
此版本$ = $版本;
$ >编码= $编码;
美元-> XML =新DOMDocument(合版,为编码);
如果美元($ xml文件)-> XML ->负荷($ xml文件);
}
功能getrootele($ roottag){
$this->xmlRoot = $this->xml->getElementsByTagName ($rootTag) ->item (0);
}
功能getseachitem(itemstag美元美元美元,seachnode,seachvalue){
美元->项目=美元-> XML -> getElementsByTagName($ itemstag);
$ >项目>长度;
为($我= 0;美元产品->长度;$ i++){
$项目=项目>项目>($ I);
美元美元的项目节点= -> getElementsByTagName($ seachnode); / /节点
为($ J = 0;jlength美元美元;j++){
$子= $节点->项目(J);
如果($ seachvalue = = $子->节点值){
美元-> seachnode = $子;
美元-> seachitem = $项;
美元-> seachvalue = $子节点-节点;
休息(2);
}
}
}
收益(美元-> seachnode)真的假的;
}
功能更新(节点美元,美元nodetag =,=假美元的追加,美元指数= 0){
如果(追加){
如果($ nodetag)
这seachitem美元-> -> getElementsByTagName($ nodetag)->项目(美元指数)->节点值= $节点;
其他的
这seachnode美元-> ->节点值= $节点;
其他{ }
如果($ nodetag)
这seachitem美元-> -> getElementsByTagName($ nodetag)->项目(美元指数)->节点值= $节点;
其他的
这seachnode美元-> ->节点值= $节点;
}
}
函数保存($文件名){
这writebytes =美元->美元-> XML ->保存($文件名);
收益(美元-> writebytes)真的假的;
}
}
为测试=新的文档('student。XML);
为测试-> getseachitem(','年龄','103 '); / /找到年龄= 103头猪
为测试->更新('piggy ','名',假,1); / /放猪的第二名:Little Pig
为测试->保存(新。XML); / /保存新文件