php 中,可通过 simpleXML_load_string() 函数将 xml 字符串加载为 simplexmlelement 对象,再通过 -> 运算符访问节点。添加新节点可以使用 addchild() 方法,保存修改则用 asxml() 方法。
php 函数如何返回 XML 节点
在 PHP 中,您可以使用 simplexml_load_string() 函数将 XML 字符串加载到 SimpleXMLElement 对象中。此对象可用于访问和操作 XML 文档。您可以使用 asXML() 方法将 SimpleXMLElement 对象转换为 XML 字符串。
语法
立即学习“PHP免费学习笔记(深入)”;
1
|
$xml_node = simplexml_load_string( $xml_string );
|
其中:
- $xml_string 是要加载的 XML 字符串。
1
2
|
$xml_string = '<root><node>Hello world!</node></root>' ;
$xml_node = simplexml_load_string( $xml_string );
|
获取 XML 节点
可以使用 -> 运算符访问 XML 节点。
1
2
|
$node = $xml_node ->node;
$value = $node ->asXML();
|
创建 XML 节点
可以使用 addChild() 方法创建新的 XML 节点。
1
2
3
|
$new_node = $xml_node ->addChild( 'new_node' );
$new_node ->addAttribute( 'id' , '1' );
$new_node ->addChild( 'value' , 'Test value' );
|
保存修改
可以使用 asXML() 方法保存对 XML 文档所做的更改。
1
|
$xml_string = $xml_node ->asXML();
|
实战案例
考虑以下 XML 文档:
1
2
3
4
5
6
7
8
9
10
|
< users >
< user >
< name >John Doe</ name >
< email >john.doe@example.com</ email >
</ user >
< user >
< name >Jane Smith</ name >
< email >jane.smith@example.com</ email >
</ user >
</ users >
|
我们可以使用以下代码获取每个用户的名称和电子邮件地址:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$xml_string = '<users>
<user>
<name>John Doe</name>
<email>john.doe@example.com</email>
</user>
<user>
<name>Jane Smith</name>
<email>jane.smith@example.com</email>
</user>
</users>';
$xml_node = simplexml_load_string( $xml_string );
foreach ( $xml_node ->user as $user ) {
echo $user ->name . ' - ' . $user ->email . '<br>' ;
}
|
输出:
1
2
|
John Doe - john.doe@example.com
Jane Smith - jane.smith@example.com
|