- vs _ with simplexml_load_file()

时间:2010-12-04 00:33:24

标签: php xml

我正在尝试解析一个xml文件,父和子使用 - 而不是我习惯的_。

<the-parent>
   <the-children>Value</the-children>
</the-parent>

我一直在使用 simplexml_load_file()来解析过去的xml文件并通过 foreach()循环来回显所有内容。

$xml = simplexml_load_file($url);

foreach($xml->the-parent as $parent) {
   echo $parent->the-children;
}

我一直收到此错误警告:为foreach()提供的参数无效

我无法更改xml文件的格式,因为我是从第三方获取的。我有什么选择正确解析这个?

3 个答案:

答案 0 :(得分:0)

您可以执行$xml->{'the-parent'}

之类的操作

参见示例#3:http://www.php.net/manual/en/simplexml.examples-basic.php

答案 1 :(得分:0)

您可以使用$x->{'the-parent'}$parent->{'the-children'}来访问这些值。

答案 2 :(得分:-1)

我建议将文件读入字符串变量,替换“ - ”字符,然后用simplexml_load_string()加载字符串

否则这样的事情应该有效:

$children = $xml->children();
foreach ($children as $element => $value) {
    ...
}