<?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>
答案 0 :(得分: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));
}
?>
答案 1 :(得分:0)
如果使用simpleXMl或simpleXMIterator进行解析,则每个节点都是一个simpleXML元素,您可以将其作为XML独立输出。