我已经搜索了一下,答案似乎在于使用DOM对象,但经过大量的修补,我无法使任何示例工作,我无法解决我做错了什么。我可能只是使用了错误的方法。
xml非常简单..
<?xml version="1.0" encoding="utf-8"?>
<courseinfo>
<info>Under inspection (decision 13:15)</info>
<buggies>Yes</buggies>
<trolleys>No</trolleys>
</courseinfo>
我想要做的就是使用表单字符串更新和保存子节点<info>
,<buggies>
和<trolleys>
。
最好的方法是什么?
答案 0 :(得分:1)
如果需要修改现有的XML文档,可以使用SimpleXML Extension使用标准的PHP对象访问来操作它。
$xml = file_get_contents('foo.xml');
$sxml = simplexml_load_string($xml);
$info = 'New info';
$buggies = 'New buggies';
$trolleys = 'New trolleys';
$sxml->info = $info;
$sxml->buggies = $buggies;
$sxml->trolleys = $trolleys;
file_put_contents('foo.xml', $sxml->asXML());
答案 1 :(得分:0)
最合适的方法是使用PHP本机DomDocument类。
$oDoc = new DomDocument('1.0', 'utf-8');
$oInfo = $oDoc->createElement('info', 'under inspection (decision 13:15)');
$oBuggies = $oDoc->createElement('buggies', 'Yes');
$oTrolleys = $oDoc->createElement('trolleys', 'No');
$oCourseinfo = $oDoc->createElement('courseinfo');
$oCourseinfo->appendChild($oInfo);
$oCourseinfo->appendChild($oBuggies);
$oCourseinfo->appendChild($oTrolleys);
$oDoc->appendChild($oCourseinfo);
echo $oDoc->saveXML();
简单如馅饼。