作者renmax (锻翼)
看板PHP
标题[请益] XML 解析错误: 找不到元素
时间Tue May 8 21:14:12 2012
各位好
我用php写一个将网页存成XML档
存起来的XML档开启後,却出现以下的讯息如下:
XML 解析错误: 找不到元素
位址: file:///C:/TWAMPd/htdocs/library.xml
行号 2, 第 1 个字:
我的php code如下所示:
<body>
<form name=form1>
<?php
$xml = "
http://zh.wikipedia.org/w/api.php?action=query&titles=渔人码头
&prop=info&inprop=url&format=xml"
$doc = new DOMDocument();
$doc->load("$xml");
$doc->save("C:\TWAMPd\htdocs\library.xml");
?>
</form>
</body>
请问该怎麽做才能使存起来的XML档可以正常显示?
麻烦各位版友了,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.20.145
1F:→ bibo9901:把你的XML档开起来看看 05/08 21:29
2F:→ bibo9901:用notepad之类的 05/08 21:29
3F:→ renmax:只出现 <?xml version="1.0"?> 这麽一行 05/08 21:34
4F:→ bibo9901:那代表你的$xml并没有写进去 05/08 21:40
5F:→ bibo9901:tw.php.net/manual/en/domdocument.load.php#91384 05/08 21:44
6F:→ bibo9901:不然就先取得资料 再丢到DOMDocument里面 05/08 21:46
我是参考网路上的一些程式码所写成code
$doc = new DOMDocument();
$doc->load("
http://news.google.com.tw/news?ned=tw&ned=tw&q=%E6%B0%A
3%E5%80%99%E8%AE%8A%E9%81%B7&ie=UTF-8&output=rss");
$doc->save("C:\TWAMPd\htdocs\library.xml");
上方的程式码是可以抓下完整的XML档的,所以我也不知道我是哪边搞错@@"
7F:推 heartinside:你的dom里面又没有资料~当然只有宣告那行QQ" 05/08 21:52
8F:→ heartinside:你应该是要用curl之类的把目标的网页内容整个抓下来 05/08 21:53
9F:→ heartinside:然後再用档案处理的函式把资料存成xml档吧? 05/08 21:53
11F:→ heartinside:参考一下档案处理的部份吧^^ 05/08 21:56
意思就是我要先用curl抓全部後,再存成XML档吗?
※ 编辑: renmax 来自: 140.129.20.145 (05/08 22:17)
12F:推 heartinside:疑...等等~我刚刚好像看错了~我先测一下你的程式 05/08 22:23
13F:推 heartinside:你在跑得时候有出现什麽错误讯息吗? 05/08 22:25
14F:→ renmax:完全没出现什麽讯息 只有开启存起来的xml档才出现上面讯息 05/08 22:32
15F:推 heartinside:可是我跑的时候有出现错误讯息耶XD 05/08 22:37
以下是我完整的程式码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Wikipedia Information</title>
</head>
<body>
<form name=form1>
<?php
$xml = "
http://zh.wikipedia.org/w/api.php?action=query&titles=渔人码头
&prop=info&inprop=url&format=xml";
echo "hahaha<br>" . "$xml" . "<br>";
$doc = new DOMDocument();
$doc->load("$xml");
$doc->save("C:\TWAMPd\htdocs\library.xml"); //xml档储存路径
?>
</form>
</body>
</html>
用浏览器测试此php code无任何讯息出现,打开存起来的XML档
用notepad++打开後,只出现 <?xml version="1.0"?> 这一行
若用浏览器打开,就会出现下面的讯息
XML 解析错误: 找不到元素
位址: file:///C:/TWAMPd/htdocs/library.xml
行号 2, 第 1 个字:
※ 编辑: renmax 来自: 140.129.38.219 (05/08 22:52)
16F:推 heartinside:嗯...我抓到wiki那边的xml了....你要用curl才能抓的到 05/08 22:49
17F:→ heartinside:他们设user-agent的限制...没这项资讯会被挡住.... 05/08 22:49
19F:→ heartinside:加油^^ 05/08 22:51
20F:→ renmax:好的 我会研究看看 由衷的谢谢您!! 05/08 22:53
21F:→ bibo9901:啊我给的连结就有讲啦 XD 05/08 23:06
22F:→ renmax:h大 你的code中 echo get_data($xml);是印在浏览器上 还是 05/09 00:19
23F:→ renmax:只能用原始档看xml呢? 05/09 00:19
24F:→ RedMapleWing:小弟浅见,他给你的程式码不是把写入的部份注解掉了 05/09 11:57
25F:→ RedMapleWing:不对别理我…发现我没搞清楚逻辑,抱歉 05/09 11:58