【发布时间】:2015-09-23 19:18:14
【问题描述】:
我有一个远程 xml 文件:http://my-site/my-file.xml 此文件具有以下值:
<files>
<file>
<unique>444444</unique>
</file>
<file>
<unique>666666</unique>
</file>
<file>
<unique>888888</unique>
</file>
</files>
我需要用php将<unique>xxxxxx</unique>的值替换为它的一半,所以文件应该改为
<files>
<file>
<unique>222222</unique>
</file>
<file>
<unique>333333</unique>
</file>
<file>
<unique>444444</unique>
</file>
</files>
我得到了打开和保存文件的部分功能,但没有找到和替换代码:
$xml_external_path = 'http://my-site/my-file.xml'; // THIS LINE MUST EXIST
$xml = simplexml_load_file($xml_external_path);// THIS LINE MUST EXIST
$searches = array();
$replacements = array();
foreach (....) {
$searches[] = ....
$replacements[] = ....
}
$newXml = simplexml_load_string( str_replace( $searches, $replacements, $xml->asXml() ) );
$newXml->asXml('new-xml.xml');// THIS LINE MUST EXIST
【问题讨论】:
-
这是不正确的关闭标签 -
<file/> <files/>simplexml 无法使用它 -
@splash58 是一个错字,我刚刚编辑了我的帖子。
-
仅适用于唯一元素?
-
@miglio 是的,只有那个
-
文件名无效,示例在到达该行的那一刻停止,对加载操作的返回值进行操作。
标签: php xml replace find preg-replace