朋友叫我帮它做一个解析网址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)
网址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)
解决方案 »
- SESSION过期,然后就登录报错,只有重启服务才能登录,
- 求jsp自定义分页标签思路
- 同一个页面上 jsp 传递参数的问题!
- 急救!!一个JSP异常。
- 毛病,为什么IE访问一个Servlet提示下载?
- table中显示数据库中的取出的图片
- jsp中的刷新问题
- 各位帮我解决我迷惑的问题
- JSP包括进的子页面的路径参数怎么写才能不报错呢?
- c:import 标签引入外部数据只显示引入部分数据,其它部分无法显示
- 利用Spring的getHibernateTemplate进行多表查询,jsp不能显示结果
- 在线等!100分,求jsp将EXCEL文档,导入到MYSQL数据库中,并将数据库中的内容导出到本地EXCEL文件!
xmlReader.read(aURL)xmlReader是读XML文件