请问怎么在php里修改xml文件?
<br /><?xml version='1.0' encoding='GB2312'?><br /><img List alt="请教如何在php里修改xml文件" ><br /><pic><br /><list path="images/01.jpg" smallpath="images/01.png" smallinfo="黑客的局域网攻击">.html/article/hardware/008.html</list><br /><list path="images/02.jpg" smallpath="images/02.png" smallinfo="维护你的光驱">http://www.niutuku.com/</list><br /><list path="images/03.jpg" smallpath="images/03.png" smallinfo="数字地球">http://www.niutuku.com/</list><br /><list path="images/04.jpg" smallpath="images/04.png" smallinfo="网络改变生活">http://www.niutuku.com/</list><br /></pic><br /><rollTime fade_in="10">3</rollTime><br /><text font="微软雅黑" size="14" bold="true" color="0xfffffff"></text><br /></imgList><br />
上面是我要改的xml文件,要修改
- 的值和smallinfo属性,求大神帮帮忙。
------解决方案--------------------
这个主要涉及到xml DOM的操作吧,去看看这方面的内容吧。
------解决方案--------------------
用 xml DOM
------解决方案--------------------
if ( file_exists ( 'out.xml' )) {<br /> $xml = simplexml_load_file ( 'out.xml' );<br /> <br /> foreach ($xml->pic->list as $key => $value) {<br /> $attr = (array) $value->attributes ();<br /> var_dump($attr[[email protected]']['smallinfo']);<br /> } <br />} else {<br /> exit( 'Failed to open test.xml.' );<br />} 这个只能取到里面的值 想改里面的值建议去下个simple_html_dom或者phpQuery------解决方案--------------------
$s =<<< XML<br /><?xml version='1.0' encoding='GB2312'?><br /><img List alt="请教如何在php里修改xml文件" ><br /><pic><br /><list path="images/01.jpg" smallpath="images/01.png" smallinfo="黑客的局域网攻击">.html/article/hardware/008.html</list><br /><list path="images/02.jpg" smallpath="images/02.png" smallinfo="维护你的光驱">http://www.niutuku.com/</list><br /><list path="images/03.jpg" smallpath="images/03.png" smallinfo="数字地球">http://www.niutuku.com/</list><br /><list path="images/04.jpg" smallpath="images/04.png" smallinfo="网络改变生活">http://www.niutuku.com/</list><br /></pic><br /><rollTime fade_in="10">3</rollTime><br /><text font="微软雅黑" size="14" bold="true" color="0xfffffff"></text><br /></imgList><br />XML;<br />$xml = simplexml_load_string($s);<br />for($i=0; $i<count($xml->pic->list); $i++) {<br /> $xml->pic->list[$i] = $i;<br /> $t = $xml->pic->list[$i]->attributes();<br /> $t['smallpath'] = $i;<br />}<br />echo $xml->asXML();<br /><?xml version="1.0" encoding="GB2312"?><br /><img List alt="请教如何在php里修改xml文件" ><br /><pic><br /><list path="images/01.jpg" smallpath="0" smallinfo="黑客的局域网攻击">0</list><br /><list path="images/02.jpg" smallpath="1" smallinfo="维护你的光驱">1</list><br /><list path="images/03.jpg" smallpath="2" smallinfo="数字地球">2</list><br /><list path="images/04.jpg" smallpath="3" smallinfo="网络改变生活">3</list><br /></pic><br /><rollTime fade_in="10">3</rollTime><br /><text font="微软雅黑" size="14" bold="true" color="0xfffffff"/><br /></imgList><br /><br />










