2012-06-07 16 views
0

我正在尝试解决基于XML的问题。到目前为止,出于某种原因,这被证明是一个无赖。我的代码只有两行,由于某些原因没有被加载在SimpleXMLElement文件不加载xmlString

代码:

$xmlString = file_get_contents('file.xml'); 
$xmlObject = simplexml_load_string($xmlString); 
// also in the above line I have tried 
// 1. new SimpleXMLElement('file.xml') 
// 2. simplexml_load_file('file.xml') 

的功能不加载,这是我可以通过var_dumping $ XmlObject中,它返回 布尔值false告诉。

file_get_contents会加载字符串$ xmlString和var_dumping它会返回字符串,所以文件路径的位置在这里不是问题。

有人知道这里发生了什么?

谢谢

+2

是'file.xml'的内容有效?该函数需要一个格式良好的XML字符串。 – xdazz

+2

共享file.xml的内容将会很有帮助。 另请参阅如何处理xml错误http://www.php.net/manual/en/simplexml.examples-errors.php –

+0

如何验证这是否为有效的xml文件? – user1020069

回答

1

您的XML可能无效。你看那个介绍了如何处理这些错误的精细PHP手册:

http://php.net/manual/en/simplexml.examples-errors.php

您还可以使用命令行工具验证XML像xmllint:

$ xmllint --noout /path/to/file.xml 
file.xml:1: parser error : XML declaration allowed only at the start of the document