我有一个从XML文件检索的XML字符串。我无法使用直接访问该文件simplexml_load_file()。原因是我必须通过Amazon S3 getObject()获得它。当我echo输入字符串时,可以看到输出是一个真实的XML文件。但是,当我尝试使用下面的代码将其加载到XML对象时,它不起作用。该变量$s3Data完全包含给定链接中的XML内容。
$xml = simplexml_load_string($s3Data);
Run Code Online (Sandbox Code Playgroud)
我需要您的帮助来解决这个问题。我正在获取的XML字符串在这里可用。
http://mediatheques-aphp.bibliomedias.net/12.xml
编辑
我创建了XML字符串并进行了测试。现在我得到以下错误。我该如何解决这些问题。
警告:simplexml_load_string()[function.simplexml-load-string]:实体:第12行:解析器错误:输入的UTF-8输入不正确,指示编码!字节:0xEF 0x76 0x65 0x3C位于1458行的C:\ Program Files \ Zend \ Apache2 \ htdocs \ voxmedia \ application \ modules \ import \ controllers \ NaiveController.php中
警告:simplexml_load_string()[function.simplexml-load-string]:2009年仅在1458行的C:\ Program Files \ Zend \ Apache2 \ htdocs \ voxmedia \ application \ modules \ import \ controllers \ NaiveController.php中
警告:simplexml_load_string()[function.simplexml-load-string]:第1458行中的C:\ Program Files \ Zend \ Apache2 \ htdocs \ voxmedia \ application \ modules \ import \ controllers \ NaiveController.php中的^
好的,现在我觉得问题出在某种字符串编码之类的东西上。有没有什么办法解决这一问题?
谢谢。
simplexml_load_string并且simplexml_load_file存在错误,并且无法在具有复杂标记的XML上很好地工作。我尝试了两个函数来解析一些VALID XML SOAP响应,甚至都没有收到错误消息。我不得不使用它DOMDocument(就像一个护身符)。
这是我们假设如何检查simplexml中的错误(如果您很幸运地看到错误,而不仅仅是从函数返回的“ false”)
libxml_use_internal_errors(true);
$xml=simplexml_load_string($myXMLData); //or simplexml_load_file
foreach( libxml_get_errors() as $error ) {
print_r($error);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20645 次 |
| 最近记录: |