dom4j解析xml字符串在google浏览器下报错的问题

兵兵 2011-11-14 10:59:47
我用servlet做了一个web接口供外部调用,调用时传递一个xml格式的字符串,我在servlet中取得该参数,并通过dom4j解析该字符串,然后将xml中的数据插入到数据库。

该接口在IE、FireFox等浏览器下测试均没有问题,能够正常解析,但在google浏览器中操作时就报错了,错误信息:“org.dom4j.DocumentException: Error on line 1 of document : 元素类型 "area" 必须由匹配的结束标记 "</area>" 终止。 Nested exception: 元素类型 "area" 必须由匹配的结束标记 "</area>" 终止。”。但<area>和</area>明明是都存在的。难道是google浏览器的问题?在网上搜了半天也未找到有用的信息!

请教各位高手帮忙看下是什么问题,不甚感激!!!
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010349104 2013-04-18
  • 打赏
  • 举报
回复
我是通过链接从网上获取下来的xml,解析函数正常通过单元测试,但是在jsp中调用函数的时候tomcat也是抛出和你一样的错误。。。这是什么原因可否详解。
ghost123cc 2011-11-15
  • 打赏
  • 举报
回复
不会吧! google浏览器 不能正常解析
兵兵 2011-11-15
  • 打赏
  • 举报
回复
有试过将area改成其它的名字,但仍然报错,而且还是这个地方报错,纠结中

自己顶!!
wangjiangbo2 2011-11-15
  • 打赏
  • 举报
回复
没想出是什么问题,大胆猜想一下是不是area元素命名问题,改个其他名字试试
兵兵 2011-11-15
  • 打赏
  • 举报
回复
重新贴一个排好版的:
<LogisticsOrder>
<ProviderID>XXXX</ProviderID>
<AccepterID>XXXX</AccepterID>
<LogisticsID>20111108162310</LogisticsID>
<BillCode>00000000</BillCode>
<receiver>
<name>王生</name>
<custid>C000001</custid>
<province>广东省</province>
<city>深圳市</city>
<area>南山区</area>
<address>创维大厦6层</address>
<phone>0755-22334455</phone>
<mobile>13512345678</mobile>
<postcode>518000</postcode>
</receiver>
<createtime>2011-10-10 11:30:00</createtime>
<goodsitems>
<item>
<goodscode>bwd003</goodscode>
<goodsname>大米</goodsname>
<spec>25KG/袋</spec>
<pcs>5</pcs>
<price>40</price>
<money>200</money>
<note>25KG一袋</note>
</item>
<item>
<goodscode>bwd004</goodscode>
<goodsname>食用油</goodsname>
<spec>5升</spec>
<pcs>1</pcs>
<price>80</price>
<money>80</money>
<note>金龙鱼花生油</note>
</item>
</goodsitems>
<sendstarttime>2011-10-10 12:00:00</sendstarttime>
<sendendtime>2011-10-10 21:00:00</sendendtime>
<goodsvalue>120.05</goodsvalue>
<remark>请尽快送货</remark>
</LogisticsOrder>
兵兵 2011-11-15
  • 打赏
  • 举报
回复
以下是我的XML字符串:
<LogisticsOrder><ProviderID>XXXX</ProviderID><AccepterID>XXXX</AccepterID><LogisticsID>20111108162310</LogisticsID><BillCode>00000000</BillCode><receiver><name>王生</name><custid>C000001</custid><province>广东省</province><city>深圳市</city><area>南山区</area><address>创维大厦6层</address><phone>0755-22334455</phone><mobile>13512345678</mobile><postcode>518000</postcode></receiver><createtime>2011-10-10 11:30:00</createtime><goodsitems><item><goodscode>bwd003</goodscode><goodsname>大米</goodsname><spec>25KG/袋</spec><pcs>5</pcs><price>40</price><money>200</money><note>25KG一袋</note></item><item><goodscode>bwd004</goodscode><goodsname>食用油</goodsname><spec>5升</spec><pcs>1</pcs><price>80</price><money>80</money><note>金龙鱼花生油</note></item></goodsitems><sendstarttime>2011-10-10 12:00:00</sendstarttime><sendendtime>2011-10-10 21:00:00</sendendtime><goodsvalue>120.05</goodsvalue><remark>请尽快送货</remark></LogisticsOrder>
24K純帥 2011-11-15
  • 打赏
  • 举报
回复
估计是XML写的不规范吧..
兵兵 2011-11-15
  • 打赏
  • 举报
回复
问题解决了,是中文编码的问题,调用接口时把xml字符串进行两次URLEncode后传递,接口收到xml字符串再进行一次URLDecode,就正常了

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧