首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

100分求解决dom4j解析网址的XML有关问题

2012-03-07 
100分求解决dom4j解析网址的XML问题.朋友叫我帮它做一个解析网址XML的程式网址XML格式如下:http://www.78c

100分求解决dom4j解析网址的XML问题.
朋友叫我帮它做一个解析网址XML的程式
网址XML格式如下:http://www.78car.com/test.jsp
现在遇到的问题是当这个地址是http://www.78car.com/test.jsp的时候程式就会报错,如果把这个文件改成http://www.78car.com/test.xml即可解析,不知道是何种原因.请高手帮忙.
源码如下:
package   com.jo.xmls;

import   java.io.*;      
import   java.net.*;      
import   java.util.*;      
import   org.dom4j.*;      
import   org.dom4j.io.*;

public   class   GetUrlxmls   {

        private   static   Document   docs   =   null;      
       
        public   static   void   parseWithSAX(URL   aURL)   throws   DocumentException{      
                SAXReader   xmlReader   =   new   SAXReader();  
                docs     =   xmlReader.read(aURL);      
        }
        public   void   query(Document   document)throws   DocumentException{
                /*List   list   =   document.selectNodes( "//Data/Desc ");
                for   (Iterator   iter   =   list.iterator();   iter.hasNext();   ){      
                            Attribute   attribute   =   (Attribute)   iter.next();
                            String   type   =   attribute.getValue();  
                            System.out.println(type);
                }     */
        try{
//         Node   node   =   document.selectSingleNode( "//Data/Code ");
//         String   sname   =   node.valueOf( "@Code ");
//         System.out.println(sname);
        Element   root=   document.getRootElement();
        Iterator   it=root.elementIterator();
        printIterator(it);
       
        }catch(Exception   e){
        e.printStackTrace();
        }
        }
private   void   printIterator(Iterator   it)   {
while(it.hasNext()){
Element   element=(Element)it.next();
System.out.println(element.getName()+ "\t "+element.getText()+ "\t ");
if(element.elementIterator()!=null){
printIterator(element.elementIterator());
}
}
}  


/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
GetUrlxmls   x   =   new   GetUrlxmls();
try{
GetUrlxmls.parseWithSAX(new   URL( "http://www.78car.com/test.jsp "));
x.query(GetUrlxmls.docs);
}catch(Exception   e){
e.printStackTrace();
}



}

}
错误如下:
org.dom4j.DocumentException:   Error   on   line   1   of   document   http://www.78car.com/test.jsp   :   字符转换错误:“Unconvertible   UTF-8   character   beginning   with   0xb2”(行号可能太小)。   Nested   exception:   字符转换错误:“Unconvertible   UTF-8   character   beginning   with   0xb2”(行号可能太小)。
at   org.dom4j.io.SAXReader.read(SAXReader.java:482)
at   org.dom4j.io.SAXReader.read(SAXReader.java:291)
at   com.jo.xmls.GetUrlxmls.parseWithSAX(GetUrlxmls.java:15)
at   com.jo.xmls.GetUrlxmls.main(GetUrlxmls.java:53)
Nested   exception:  
org.xml.sax.SAXParseException:   字符转换错误:“Unconvertible   UTF-8   character   beginning   with   0xb2”(行号可能太小)。
at   org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
at   org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1072)
at   org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
at   org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1150)
at   org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:620)
at   org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
at   org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at   org.dom4j.io.SAXReader.read(SAXReader.java:465)
at   org.dom4j.io.SAXReader.read(SAXReader.java:291)
at   com.jo.xmls.GetUrlxmls.parseWithSAX(GetUrlxmls.java:15)
at   com.jo.xmls.GetUrlxmls.main(GetUrlxmls.java:53)
Nested   exception:   org.xml.sax.SAXParseException:   字符转换错误:“Unconvertible   UTF-8   character   beginning   with   0xb2”(行号可能太小)。
at   org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
at   org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1072)
at   org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
at   org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1150)
at   org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:620)
at   org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
at   org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at   org.dom4j.io.SAXReader.read(SAXReader.java:465)
at   org.dom4j.io.SAXReader.read(SAXReader.java:291)
at   com.jo.xmls.GetUrlxmls.parseWithSAX(GetUrlxmls.java:15)
at   com.jo.xmls.GetUrlxmls.main(GetUrlxmls.java:53)


[解决办法]
友情UP
[解决办法]
改为 <?xml version= "1.0 " encoding= "UTF-8 " ?>

是编码的问题。

热点排行