PHP:如何将XML对象写入XML文件

时间:2015-03-01 07:47:37

标签: php xml object

有一个包含以下内容的XML文件:

<StaticDataRequest>
   <Header>
      <Code>XXXX</Code>
      <Username>XXXX</Username>
      <Password>XXXX</Password>
   </Header>
   <Body>
      <GetStaticData>countries</GetStaticData>
   </Body>
</StaticDataRequest>

我需要更改上述文件的Code, Username, Password值并保存。

所以,我按照以下命令读取该文件:

$xml = simplexml_load_file("country_request.xml");

我更改了元素值如下:

$xml->Header->Code = 'myCode';
$xml->Header->Username  = 'myUsername';
$xml->Header->Password  = 'myPassword';

现在,$xml是一个具有以下结构的对象:

SimpleXMLElement Object
(
    [Header] => SimpleXMLElement Object
        (
            [Code] => myCode
            [Username] => myUsername
            [Password] => myPassword
        )

    [Body] => SimpleXMLElement Object
        (
            [GetStaticData] => countries
        )
)

问题

主要问题是如何将$xml写入具有XML结构的XML文件?

就是这样:

<StaticDataRequest>
       <Header>
          <Code>myCode</Code>
          <Username>myUsername</Username>
          <Password>myPassword</Password>
       </Header>
       <Body>
          <GetStaticData>countries</GetStaticData>
       </Body>
</StaticDataRequest>

1 个答案:

答案 0 :(得分:0)

simplexml_load_file会返回SimpleXMLElement个对象。如果你查看文档,你会发现:

  

public mixed asXML([string $ filename])

换句话说:

$file = "country_request.xml";
$xml = simplexml_load_file($file);

// Do you stuff here...

if ($xml->asXML($file)) {
    echo 'Saved!';
} else {
    echo 'Unable to save to file :(';
}