PHP SimpleXML函数

PHP SimpleXMLElement::saveXML() 方法以 XML 版本 1.0 格式化父对象的数据。此函数是 SimpleXMLElement::asXML() 函数的别名。

语法

public SimpleXMLElement::saveXML(filename) 

参数

filename可选。 如果提供,该函数会将数据写入文件而不是返回它。

返回值

如果未指定filename,此函数在成功时返回一个字符串,在错误时返回 false。如果指定文件名,则文件写入成功则返回 true,否则返回 false。

示例:获取 XML

下面的示例显示了用法SimpleXMLElement::saveXML() 方法。

<?php
$xmlstr = <<<XML
<userlist> 
  <user id="John123">
    <name>John Smith</name>
    <city>New York</city>
    <phone>+1-8054098000</phone>
  </user>
  
  <user id="Marry2015">
    <name>Marry G.</name>
    <city>London</city>
    <phone>+33-147996101</phone>
  </user> 
</userlist> 
XML;

$xml = new SimpleXMLElement($xmlstr);

echo $xml->saveXML();
?> 

上述代码的输出将是:

<?xml version="1.0"?>
<userlist> 
  <user id="John123">
    <name>John Smith</name>
    <city>New York</city>
    <phone>+1-8054098000</phone>
  </user>
  
  <user id="Marry2015">
    <name>Marry G.</name>
    <city>London</city>
    <phone>+33-147996101</phone>
  </user> 
</userlist> 

示例:在 SimpleXMLElement::xpath() 结果上使用

在示例中下面,此函数用于 SimpleXMLElement::xpath() 结果。

<?php
$xmlstr = <<<XML
<userlist> 
  <user id="John123">
    <name>John Smith</name>
    <city>New York</city>
    <phone>+1-8054098000</phone>
  </user>
  
  <user id="Marry2015">
    <name>Marry G.</name>
    <city>London</city>
    <phone>+33-147996101</phone>
  </user> 
</userlist> 
XML;

$xml = new SimpleXMLElement($xmlstr);

//搜索<userlist><user><name>
$result = $xml->xpath('/userlist/user/name');

foreach($result as $node){
  echo $node->saveXML();
}
?> 

上述代码的输出将是:

<name>John Smith</name><name>Marry G.</name>