【问题标题】:SimpleXML generating errors with valid XML stringsSimpleXML 使用有效的 XML 字符串生成错误
【发布时间】:2012-01-30 05:41:20
【问题描述】:

我是 PHP 5.2.6 中使用 Codeigniter 的 SimpleXML 的新手,并且收到了以下错误。无论我尝试什么,我都无法从解析器获得任何输出。

我已检查 XML 是否有效。我已经确认该字符串是用 XML 填充的,并且还替换了其他有效的 XML 字符串来确认。

我是这个特定领域的新手,所以任何帮助都会很棒。

错误信息:

消息:SimpleXMLElement::__construct() [simplexmlelement.--construct]:实体:第 12 行:解析器错误:需要开始标记,未找到“

代码示例:

$xmlClean = simplexml_load_string($xml);
$xmlData = new SimpleXMLElement($xmlClean);
echo $xmlData->person[0]->id;

【问题讨论】:

  • 你能给我们看看xml吗?
  • 就个人而言,我使用 DOMDocument。它的工作原理类似于 Javascript。

标签: php xml codeigniter simplexml


【解决方案1】:

我能够通过以下方式解决我的问题:

$string = <<<XML
$xml
XML;

像这样包装 $xml 然后让它工作:

$xmlData = simplexml_load_string($string);
var_dump($xmlData);

希望有人觉得这很有帮助。

【讨论】:

    【解决方案2】:

    我自己在使用 SimpleXML 对象时遇到了一些问题...我意识到 XML 元素的值不是字符串,请自行购买 SimpleXML 对象...

    为了解决这个问题,当我想使用 SimpleXML 对象的字符串时,使用 get_object_vars 将对象转换为关联数组。

    $data = get_object_vars($xml);
    
    echo $data['element1']; //Outputs the value of the element1 element
    

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 2021-11-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 2023-03-11
      • 2012-09-17
      相关资源
      最近更新 更多