【问题标题】:XML file/data handling with PHP使用 PHP 处理 XML 文件/数据
【发布时间】:2021-09-09 12:58:54
【问题描述】:

我有一个 XML 文件作为主文件 (master.xml),它的内容是空白的。

<?xml version="1.0" encoding="UTF-8"?>
<master/>

我有一个循环,我在其中获取一些数据并将它们转换为 xml 文件(item.xml),它们的内容就像

<?xml version="1.0" encoding="UTF-8"?>
<master>
   <item>
      <key1>value1</key1>
      <key2>value2</key2>
      <key3>value3</key3>
   </item>
</master>

我想要的只是能够从item.xml 中获取项目并将其插入到主标记下的master.xml 上,这样最终结果就会看起来像

<?xml version="1.0" encoding="UTF-8"?>
<master>
  <item>
    <key1>value1</key1>
    <key2>value2</key2>
    <key3>value3</key3>
  </item>
  <item>
    <key1>value1</key1>
    <key2>value2</key2>
    <key3>value3</key3>
  </item>
  <item>
    <key1>value1</key1>
    <key2>value2</key2>
    <key3>value3</key3>
  </item>
  <item>
    <key1>value1</key1>
    <key2>value2</key2>
    <key3>value3</key3>
  </item>
</master>

我不知道它是否有帮助,但现在的代码是这样的。

$targetDom = new DOMDocument();
$targetDom->load('master.xml');

while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
  // Data beeing processed and stored as item.xml

  $sourceDom = new DOMDocument();
  $sourceDom->load('item.xml');

  foreach ($sourceDom->documentElement->childNodes as $child) {
    $targetDom->appendChild(
      $targetDom->importNode($child, TRUE)
    );
  }
}

上面的代码有这个结果

<?xml version="1.0" encoding="UTF-8"?>
<master/>
<item>
  <key1>value1</key1>
  <key2>value2</key2>
  <key3>value3</key3>
</item>
<item>
  <key1>value1</key1>
  <key2>value2</key2>
  <key3>value3</key3>
</item>
<item>
  <key1>value1</key1>
  <key2>value2</key2>
  <key3>value3</key3>
</item>
<item>
  <key1>value1</key1>
  <key2>value2</key2>
  <key3>value3</key3>
</item>

我错过了什么?

【问题讨论】:

    标签: php xml


    【解决方案1】:

    您需要将项目附加到$targetDom 的第一个元素

    用途:

    $targetDom->documentElement->appendChild(
      $targetDom->importNode($child, TRUE)
    );
    

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多