0
<?xml version="1.0" encoding="utf-8"?>
<info>
   <report id="1">
      <book>
          <title>A</title>
      </book>
      <author>
          <name>xyz</name>
      </author>
   </report>
   <report id="2">
       <book>
           <title>B</title>
       </book>
       <author>
           <name>xyz</name>
       </author>
   </report>
   <report id="3">
       <book>
           <title>C</title>
       </book>
       <author>
           <name>xyz</name>
       </author>
  </report>
</info>

这是我的 xml,我想检索每个报告并将其保存到数据库
我已将 xml 文件加载到 dom,并且可以使用 nodeValue 检索值。通过使用nodeValue我得到像 A 和 XYZ 这样的值,但我希望值在xml 格式
<book> <title>A</title> </book> <author> <name>xyz</name> </author>

4

2 回答 2

1

我猜您正在尝试获取每个报告节点及其内容。您可以执行以下操作:

<?php
    $doc = DOMDocument::loadXML(' x m l  s t r i n g ');

    $reportNodeList = $doc->getElementsByTagName('report');
    foreach($reportNodeList as $reportNode) {
        echo htmlspecialchars($doc->saveXML($reportNode));
    }
?>
于 2012-10-27T06:36:36.723 回答
0

如果您使用 simpleXMl 或 simpleXMIterator 进行解析,则每个节点都是一个 simpleXML 元素,您可以将其独立输出为 XML。

于 2012-10-27T06:16:56.690 回答