大家好,项目上遇到java,本人在学生阶段学过点java,只知道一点点皮毛,很久不用了,现在遇到问题,请教大家啊!项目上需要解析 XML 文件 (Rss 格式), 我就选择了用 DOM 解析, 相关代码如下: DocumentBuilderFactory l_dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder l_db = l_dbf.newDocumentBuilder(); Document l_xmlDoc = l_db.parse(l_strXMLPath);  l_xmlDoc.normalize(); 其中 l_strXMLPath 是 URL 地址。我在使用时发现,我用一些 URL 可以解析,例如 :  sohu 的 Rss: http://rss.news.sohu.com/rss/pfocus.xml 但是用公司的URL 就不能,例如:http://xxxxxxx.xxx.xxx.com:7001/project_jt/mss_checkuser.jsp&from=XXX不能解析的URL 会报错,是 IOException。  不能解析的 URL 应该是经过跳转的页面。 这个页面可以在IE中正常显现。
想请教下各位, 怎么才能让 这种页面也能正常解析? 难道是跳转的问题?谢谢了

解决方案 »

  1.   

    改了些东西,先在error 变成了 3SAXExceptionFatal ErrorDocument is not well-formed: Start-tag 'link' is different from end-tag 'head'难道是跳转的问题?? 解析的只能解析到跳转前的页面??望高手指点谢谢
      

  2.   

    我认为两种可能:
    1. 估计是你们公司URL不存在,你可以测试能不能通过外网访问到你们公司RSS;
    2. XML格式有问题;
    DOM解析XML的实质是将XML文件加载到内存,因为XML语法要求标签必须成对出现,及有前标签(<>),就必须要有相应的后标签(</>)与之对应,所以整个XML实质是一颗树,所以当你加载到内存后就可以对树种的结点进行遍历;
      

  3.   

    谢谢楼上的回答URL 是存在的,我在IE中打开正常。我现在怀疑是跳转的问题,我是通过这个 URL 跳转到一个相对应的 xml 去的,是不是因为 DOM 的 parse 只能parse 到跳转页面, 而不能解析到 跳转以后的 xml 页面。
      

  4.   

    测试了下,如果在同一台服务器上,静态存在的xml 确实也可以正常解析,但是换成需要动态跳转的,则还是报错:Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: 是 SAXException。跳转以后的xml 是一样的内容
      

  5.   

    大概知道原因了,如果url跳转的话,确实存在问题,至少跳转的时候,url不能变化,否则,解析会出错....