我想从网址读取XML文件,然后从我的XML文件中检索信息。
<?php
if( $_POST["name"])
{
ini_set('allow_url_fopen ','ON');
$completeurl = "http://localhost:8983/solr/select?q=".$_POST['name'];
$xml = simplexml_load_file(file_get_contents($completeurl));
exit();
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Search: <input type="text" name="name" />
<input type="submit" />
</form>
</body>
</html>
当我向表单写一些输入时,它显然设法检索某些内容,但我也收到这样的消息:
Warning: simplexml_load_file() [function.simplexml-load-file]:
I/O warning : failed to load external entity "<?xml version="1.0" encoding="UTF-8"?>
<response> <lst name="responseHeader"><int name="sta....
如何从网址中提取xml-info?
答案 0 :(得分:4)
调用file_get_contents()
后,您已将远程文件的内容包含在字符串中。请改用simplexml_load_string()
:
$xml = simplexml_load_string(file_get_contents($completeurl));
但更简单的方法是使用simplexml_load_file()
直接加载文件。请注意,该函数支持HTTP URL:
$xml = simplexml_load_file($completeurl);
答案 1 :(得分:2)
simplexml_load_file()
采用文件名,您希望改为使用simplexml_load_string(file_get_contents($completeurl))
或simplexml_load_file($completeurl)
答案 2 :(得分:0)
如上所述,您从本地主机加载xml,以便提供
simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/uproYourFoldet/xml_data.xml')
如果您使用的是php版本&lt; 5
,也可以这样做$temp = file_get_contents($url);
$XmlObj = simplexml_load_string($temp);