0

我有一个以 XML 形式发送信息的 PDF 表单。我想在 PHP 文件中回显 xml 数据以测试格式等。这是我尝试过的,但它不起作用

$xml    = file_get_contents('php://input');
$reader = new XMLReader();
$reader->XML($xml);

while ($reader->read()) {
    foreach ($reader as $name => $value) {
        echo "$name: $value\n";
    }
}
// this line will echo out the values of the xml one after the
// other without spaces. I am looking for name: value.
echo "<br>$xml<br>";
4

1 回答 1

0

我可以在您的问题中发现的主要问题是您正在使用XMLReader这里。使用该库并不是特别错误——它旨在解析 XML——但是它为解析提供的接口阻碍了你。

例如,以下代码行无法使用,XMLReader $reader因为它没有提供基于名称/值对的Traversable :

foreach ($reader as $name => $value) {

因此,在 foreach 中使用它并不能帮助您完成工作。您可能想要使用的是SimpleXMLElement. 它更适合 XML 文档遍历,因为它允许这种遍历和更直接的值访问。检查基本用法示例

$xml = simplexml_load_file('php://input');
$xml->asXML('php://output'); // review submitted (+ loaded + parsed) XML

foreach ($xml as $name => $value) {
     echo "$name: $value\n";
}

另见:

于 2013-06-24T21:47:32.940 回答