BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #9825同步于 2010/4/11
WWWTechnology机器人发帖

[合集] [求助]php解析XML文档时创建DOMDcument类的问题

xw2423
2010/4/11镜像同步0 回复
☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 09:14:58 2008) 提到: [color=#0000FF][color=#0000FF][color=#000000][size=4][/size] 创建加载的源代码如下: $dom=new DOMDocument("1.0", "gb2312"); $dom->load("simple.xml"); 浏览器告诉我这两行出现的问题如下: Warning: domdocument::domdocument() expects parameter 2 to be long, string given in D:\Program Files\xampp\htdocs\xml\13-2.php on line 9 Fatal error: Call to undefined method domdocument::load() in D:\Program Files\xampp\htdocs\xml\13-2.php on line 10 请大牛不吝赐教,谢谢![/color][/color][/color] ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 09:24:41 2008) 提到: 厄……又发了一遍啊? 那就再回一个 你用的哪个版本的php?php5才有你用的东西~ 好像new DOMDocument不用指定参数也行。 【 在 crashice 的大作中提到: 】 : [color=#0000FF][color=#0000FF][color=#000000][size=4][/size] : 创建加载的源代码如下: : $dom=new DOMDocument("1.0", "gb2312"); : ................... ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 10:00:29 2008) 提到: 我用的是XAMPP, <?php phpinfo() ?>时,显示的是PHP Version 5.2.6 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 11:39:04 2008) 提到: 你把new DOMDocument的参数去掉看看还报什么错。 【 在 crashice 的大作中提到: 】 : 我用的是XAMPP, : <?php : phpinfo() : ................... ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 12:14:01 2008) 提到: 还是过不了, 这是浏览器给的: Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in D:\Program Files\xampp\htdocs\xml\13-2.php on line 9 Fatal error: Call to undefined method domdocument::load() in D:\Program Files\xampp\htdocs\xml\13-2.php on line 10 ☆─────────────────────────────────────☆ songyancui (csy) 于 (Fri Dec 26 12:36:57 2008) 提到: 看错误信息,应该是dom对象没有建立起来,所以load方法也就说“没有定义”,看来问题在$dom=new DOMDocument("1.0", "gb2312");这个句子中。你看看这俩个参数是否正确,我以前用的时候也没在这里 定义参数。 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 12:48:52 2008) 提到: 把测试代码贴出来吧。 ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 15:18:54 2008) 提到: 好,这是我的PHP代码: <?php echo "<html>"; echo "<head>"; echo "<title>"; echo "PHP解析XML文档"; echo "</title>"; echo "</head>"; echo "<body>"; $dom=new DOMDocument(); $dom->load("simple.xml"); $root=$dom->getElementsByTagName("CHANNELS"); $root=$root->item(0); $userid=$root->getElementsByTagName("CHANNEL"); echo "PHP解析文档"; echo "<table border=\"2\">"; echo "<tr bgcolor=\"#eeeeee\">"; echo "<td>属性1</td>"; echo "<td>属性2</td>"; echo "<td>属性3</td>"; echo "<td>属性4</td>"; echo "<td>属性5</td>"; echo "</tr>"; $i=0; foreach ($userid as $rootdata) { $i++; if ($i%2==0) { $bgcolor="#ffffff"; } else { $bgcolor="#ddddff"; } echo "<tr bgcolor=\"".$bgcolor."\">"; foreach ($rootdata->attributes as $attrib) { $attribName=$attrib->nodeName; $attribValue=$attrib->nodeValue; echo "<td>"; echo $attribName; echo "=".$attribValue; echo "</td>"; } echo "</tr>"; } echo "</table>"; echo "</body>"; echo "</html>"; ?> ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 15:20:13 2008) 提到: 下面是被解析的XML文档; <?xml version="1.0" encoding="gb2312"> <CHANNELS> <CHANNEL no="01" name="TVChannel01" resolution="0" vformat="0" quality="0" /> <CHANNEL no="02" name="TVChannel02" resolution="0" vformat="0" quality="0" /> <CHANNEL no="03" name="TVChannel03" resolution="0" vformat="0" quality="0" /> <CHANNEL no="04" name="TVChannel04" resolution="0" vformat="0" quality="0" /> <CHANNEL no="05" name="TVChannel05" resolution="0" vformat="0" quality="0" /> <CHANNEL no="06" name="TVChannel06" resolution="0" vformat="0" quality="0" /> <CHANNEL no="07" name="TVChannel07" resolution="0" vformat="0" quality="0" /> <CHANNEL no="08" name="TVChannel08" resolution="0" vformat="0" quality="0" /> <CHANNEL no="09" name="TVChannel09" resolution="0" vformat="0" quality="0" /> <CHANNEL no="10" name="TVChannel10" resolution="0" vformat="0" quality="0" /> <CHANNEL no="11" name="TVChannel11" resolution="0" vformat="0" quality="0" /> <CHANNEL no="12" name="TVChannel12" resolution="0" vformat="0" quality="0" /> <CHANNEL no="13" name="TVChannel13" resolution="0" vformat="0" quality="0" /> <CHANNEL no="14" name="TVChannel14" resolution="0" vformat="0" quality="0" /> <CHANNEL no="15" name="TVChannel15" resolution="0" vformat="0" quality="0" /> <CHANNEL no="16" name="TVChannel16" resolution="0" vformat="0" quality="0" /> </CHANNELS> ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 16:03:00 2008) 提到: 初次尝试返回这样的错误: Warning: DOMDocument::load() [function.DOMDocument-load]: Blank needed here in file:///E%3A/Temp/simple.xml, line: 1 in E:\Temp\test.php on line 10 Warning: DOMDocument::load() [function.DOMDocument-load]: parsing XML declaration: '?>' expected in file:///E%3A/Temp/simple.xml, line: 1 in E:\Temp\test.php on line 10 Fatal error: Call to a member function getElementsByTagName() on a non-object in E:\Temp\test.php on line 13 原因是你的xml的第一行,应该是 <?xml version="1.0" encoding="gb2312"?> 你少了一个? ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 16:30:02 2008) 提到: 改过来了,但好像还是第一个问题: Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in D:\Program Files\xampp\htdocs\xml\13-2.php on line 9 Fatal error: Call to undefined method domdocument::load() in D:\Program Files\xampp\htdocs\xml\13-2.php on line 10 ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 16:43:47 2008) 提到: 我出现的错误总是Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in…… 会不会是我们用的软件不一样啊?你是用的XAMPP吗? 我一开始试着自己单独配置PHP,apache和mysql,结果弄得焦头烂额…… ☆─────────────────────────────────────☆ xw2423 (静水之人) 于 (Fri Dec 26 18:42:37 2008) 提到: linux+php5.2.6下,没有问题 【 在 crashice (笨熊) 的大作中提到: 】 : 我出现的错误总是Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in…… : 会不会是我们用的软件不一样啊?你是用的XAMPP吗? : 我一开始试着自己单独配置PHP,apache和mysql,结果弄得焦头烂额…… : ................... ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 21:35:48 2008) 提到: 嗯,win+apache2+php526也没问题…… 问题是lz碰到了诡异的问题。。。。 【 在 xw2423 的大作中提到: 】 : linux+php5.2.6下,没有问题 ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 21:37:51 2008) 提到: 说的就是,为啥就我的过不了呢?难道是软件的问题? 代码是我copy过来的…… ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Fri Dec 26 21:41:36 2008) 提到: 曾经用过,不过那时候没用过xml。现在用xml又不用xampp了。。。 比较怀疑……那个xampp的问题。不嫌麻烦的话,你可以发个安装包到我邮箱里 zhang_bo[AT]yahoo.cn 不过话说回来,win下面装apache+php应该不是很麻烦吧,mysql……我倒是建议你用pdo_SQLite这个轻量级的数据库,还算简单吧。上网找找教程什么的。 【 在 crashice 的大作中提到: 】 : 我出现的错误总是Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in…… : 会不会是我们用的软件不一样啊?你是用的XAMPP吗? : 我一开始试着自己单独配置PHP,apache和mysql,结果弄得焦头烂额…… ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 21:53:56 2008) 提到: 我在win下安过apache+php,光运行 <?php phpinfo() ?> 就总出现apache服务器遇到问题关闭重启。好,我给你发过 ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Fri Dec 26 21:59:54 2008) 提到: 不行太大了,我给你一个下载地址吧,一个老师给的 ftp://202.112.10.142/zhangzhi/Web%B1%E0%B3%CC/ ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Fri Dec 26 23:52:05 2008) 提到: 囧.... zhangzhi...... 【 在 crashice (笨熊) 的大作中提到: 】 : 不行太大了,我给你一个下载地址吧,一个老师给的 : ftp://202.112.10.142/zhangzhi/Web%B1%E0%B3%CC/ ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Sun Jan 4 10:31:38 2009) 提到: 不好意思,一忙给忘记了。刚给楼主发了邮件 今天看了一下,原因可能是xampp打开了php4的domxml扩展导致的。 修正方法: 1、在xampp的安装目录下面:\xampp\apache\bin\php.ini 找到这个php.ini文件 2、在php.ini文件中将查找extension=php_domxml.dll,在前面加个分号;即改成 ;extension=php_domxml.dll 3、保存文件,在xampp的对话里重新stop-start一下apache。 附加说明: domxml以扩展的形式存在与php4.3的版本,在php5里面移除了domxml,改用dom模块。 xampp在php.ini文件中打开了这个扩展,导致DOMDocument存在同名的一个php4的类。 ☆─────────────────────────────────────☆ BookMoth (书中蠹鱼) 于 (Sun Jan 4 11:43:32 2009) 提到: 老师真会找版本1.6.7……1.6.8的xampp就修复了这个问题-______-! 12. Aug 2008 XAMPP 1.6.8 beta1 - Upgrade MySQL 5.0.67 - Upgrade PHP 4.4.9 - Upgrade MySQL modules for PHP 5.2.6 - Upgrade phpMyAdmin 2.11.8.1 - Upgrade FileZilla FTP Server 0.9.27 - Upgrade ADOdb 4.990 - Comment out domxml in the php.ini //就是这个~ ☆─────────────────────────────────────☆ crashice (笨熊) 于 (Sun Jan 4 14:35:15 2009) 提到: 【 在 BookMoth 的大作中提到: 】 : 老师真会找版本1.6.7……1.6.8的xampp就修复了这个问题-______-! : 12. Aug 2008 XAMPP 1.6.8 beta1 : - Upgrade MySQL 5.0.67 : ................... 感谢您热情的帮助,问题终于解决了,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。