Ata*_*kov 1 php xml simplexml xml-parsing
我知道有几次问过类似的问题,但我无法找到以下解决方案:
我有一个简单的XML文件:servers.xml
<servers>
<server>
<name> Google </name>
<address>http://www.google.com</address>
</server>
<server>
<name> Yahoo </name>
<address>http://www.yahoo.com</address>
</server>
<server>
<name> Bing </name>
<address>http://www.bing.com</address>
</server>
</servers>
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试获取<server>名称为"Google" 的节点,然后更改地址标记.我不知道如何使用SimpleXML去做.因此,示例场景如下:
任何帮助,将不胜感激.
获取服务器对象/数组,其中$ serverName ="Google"
// An array of all <server> elements with the chosen name
$googles = $servers->xpath('server[name = " Google "]');
Run Code Online (Sandbox Code Playgroud)将服务器的地址字段编辑为与http://www.google.co.uk不同的地方
//Find a google and change its address
$google->address = 'http://www.google.co.uk';
Run Code Online (Sandbox Code Playgroud)将更改写回XML文件.
$servers->saveXML('path/to/file.xml');
Run Code Online (Sandbox Code Playgroud)完整的例子
$servers = simplexml_load_file('path/to/file.xml');
$googles = $servers->xpath('server[name=" Google "]');
foreach ($googles as $google) {
$google->address = 'http://www.google.co.uk';
}
$servers->saveXML('path/to/file.xml');
Run Code Online (Sandbox Code Playgroud)
更多信息