开始做的时候遇到有些文件没有title元素的,程序会报空指针,然后我就catch空指针异常,返回一个空字符串。可是遇到有些文件又会报异常报错,比如
[Fatal Error] index.jsp:1:2: The up in the document preceding the root element must be well-formed.
Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/home/lilisong/NetBeansProjects/WebApplication1/web/index.jsp; lineNumber: 1; columnNumber: 2; The up in the document preceding the root element must be well-formed.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:253)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:288)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
at com.bjsxt.test.CreateHtml2_1.getTitle(CreateHtml2_1.java:50)
at com.bjsxt.test.CreateHtml2_1.listFile(CreateHtml2_1.java:28)
at com.bjsxt.test.CreateHtml2_1.listFile(CreateHtml2_1.java:39)
at com.bjsxt.test.CreateHtml2_1.test(CreateHtml2_1.java:72)
at com.bjsxt.test.CreateHtml2_1.main(CreateHtml2_1.java:82)
Java Result: 1我的代码是
public static String getTitle(File f) throws Exception {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(f);
Node title_tag = document.getElementsByTagName("title").item(0);
return title_tag.getFirstChild().getTextContent();
} catch (NullPointerException e) {
return "";
}
}
请教的问题如标题,请各位大神给看看
[Fatal Error] index.jsp:1:2: The up in the document preceding the root element must be well-formed.
Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/home/lilisong/NetBeansProjects/WebApplication1/web/index.jsp; lineNumber: 1; columnNumber: 2; The up in the document preceding the root element must be well-formed.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:253)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:288)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
at com.bjsxt.test.CreateHtml2_1.getTitle(CreateHtml2_1.java:50)
at com.bjsxt.test.CreateHtml2_1.listFile(CreateHtml2_1.java:28)
at com.bjsxt.test.CreateHtml2_1.listFile(CreateHtml2_1.java:39)
at com.bjsxt.test.CreateHtml2_1.test(CreateHtml2_1.java:72)
at com.bjsxt.test.CreateHtml2_1.main(CreateHtml2_1.java:82)
Java Result: 1我的代码是
public static String getTitle(File f) throws Exception {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(f);
Node title_tag = document.getElementsByTagName("title").item(0);
return title_tag.getFirstChild().getTextContent();
} catch (NullPointerException e) {
return "";
}
}
请教的问题如标题,请各位大神给看看
解决方案 »
- 关于java swing 最小化窗口还原。高手求解,在线等。
- ArrayList集合的问题
- 如何在JTextField中加文字,用鼠标点击JTextField时就消失的那种 谢谢,追分~
- 一个桌面程序,一进程序就全屏了,想把鼠标隐藏起来.
- 如何正确显示excel里的sheet名
- 如何设定Calendar,使其月份1代表1月而不是2月
- 关于((Comparable)otherObject).compareTo(this);
- 超级菜鸟!java怎么写 x^y,x的y次方?
- java中ServerSocket的问题
- 请问B/S和C/S有什么区别?
- java环境变量的配置
- BufferMap映射复制文件,出异常,内存溢出!!!
jsp不就是html里面加了java代码么, 还有就是我就只用dom4j做过xml的解析。不知道jsp你还解析来做什么,估计很少要解析jsp吧,html也很少有用dom解析的吧
嗯,我现在估计是知道为什么html不用dom解析了,dom解析是专门为xml用的,xml是格式严格的文件,而html是格式不严格的文件,所以dom4j解析xml没问题,但解析html时只要html格式有一点不规范都会报错,比如<br/>写成<br>都会报错。
其实我是在做一个网站地图,写一个生成html类型文件的程序,要获取一个目录里的所有html和jsp的title然后都放到一个html文件里,生成一个目录一样的东西。昨天下午就用流的形式,读取所有文件,然后把每个文件的title用删选字符串的方式找出来了。但我想为了获得title,把没个文件都拼一次字符串是不是太浪费资源了。刚开始学,也不咋懂
对于你要从jsp界面里面的文字,要么是固定写死的, 那你的地图也可以写死呀;要么是从数据库里面或者其他文件里面找出来的, 那你做地图的时候为什么就不可以去数据库或者其他文件里面去找呢