我正在使用这个
<?php
$file = '/Applications/MAMP/htdocs/payback_service/payback_records.xml';
if (file_exists($file)) {
$sxe = simplexml_load_file($file);
$movie = $sxe->addChild('record');
$movie->addChild('lat', 'PHP2: More Parser Stories');
$movie->addChild('lng', 'This is all about the people who make it work.');
$movie->addChild('address', 'PHP2: More Parser Stories');
$movie->addChild('picture_link', 'PHP2: More Parser Stories');
$movie->addChild('message', 'PHP2: More Parser Stories');
$sxe->asXML($file);
} else {
exit('Failed to open '.$file);
}
我希望以格式化的形式更新xml的文本。
现在我得到了这个:
<record><lat>PHP2: More Parser Stories</lat><lng>This is all about the people who make it work.</lng><address>PHP2: More Parser Stories</address><picture_link>PHP2: More Parser Stories</picture_link><message>PHP2: More Parser Stories</message></record><record><lat>PHP2: More Parser Stories</lat><lng>This is all about the people who make it work.</lng><address>PHP2: More Parser Stories</address><picture_link>PHP2: More Parser Stories</picture_link><message>PHP2: More Parser Stories</message></record></root>
我需要这个文件:
<record>
<lat>1.5</lat>
<lng>-8.5</lng>
<address>this is the address</address>
<picture_link>this is picture link</picture_link>
<message>this is the message</message>
</record>
<record>
<lat>1.5</lat>
<lng>0.248</lng>
<address>PHP2: More Parser Stories</address>
<picture_link>PHP2: More Parser Stories</picture_link>
<message>PHP2: More Parser Stories</message>
</record>
答案 0 :(得分:1)
我不认为SimpleXML支持格式化。但是DOMDocument class会这样做:
<?php
$file = '/Applications/MAMP/htdocs/payback_service/payback_records.xml';
if (file_exists($file)) {
$sxe = simplexml_load_file($file);
$movie = $sxe->addChild('record');
$movie->addChild('lat', 'PHP2: More Parser Stories');
$movie->addChild('lng', 'This is all about the people who make it work.');
$movie->addChild('address', 'PHP2: More Parser Stories');
$movie->addChild('picture_link', 'PHP2: More Parser Stories');
$movie->addChild('message', 'PHP2: More Parser Stories');
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($sxe->asXML());
echo $dom->saveXML();
} else {
exit('Failed to open '.$file);
}