Java Xerces在SUN JRE v1.5和IBM J9 v1.5上的表现不同
我正在尝试使用解析一些HTML 问题是,当在Java Xerces在SUN JRE v1.5和IBM J9 v1.5上的表现不同,java,html,dom,xerces,j9,Java,Html,Dom,Xerces,J9,我正在尝试使用解析一些HTML 问题是,当在sunjdk1.5.0_01上执行下面的代码片段时,它工作得很好(这是在我将eclipse与sunjre一起使用时)。但是当同样的事情在IBMJ9VM(build2.3,J2RE1.5.0IBMJ9 2.3WindowsXPx86-32J9VMWI3223IFX-20070323(启用JIT)上执行时,它就不工作了(这是在我使用IBMRAD进行开发时) 任何想法、建议或解决方法都将不胜感激。谢谢。我有两个想法 我刚刚验证了xerces是JRE安装的一部
sunjdk1.5.0_01
上执行下面的代码片段时,它工作得很好(这是在我将eclipse与sunjre一起使用时)。但是当同样的事情在IBMJ9VM(build2.3,J2RE1.5.0IBMJ9 2.3WindowsXPx86-32J9VMWI3223IFX-20070323(启用JIT)
上执行时,它就不工作了(这是在我使用IBMRAD进行开发时)
任何想法、建议或解决方法都将不胜感激。谢谢。我有两个想法
不输入for循环-这是否意味着,
tags
是一个空节点列表,或者您得到了一个异常?@Andreas:Yestags
是一个空节点列表。如果出现异常,它可能会在try catch
块中捕获(不作为片段的一部分发布)或者显示在控制台上。不进入for循环-这是否意味着,tags
是一个空节点列表,或者您得到了一个异常?@Andreas:Yestags
是一个空节点列表。如果出现异常,它将在try catch
块中捕获(不作为代码段的一部分发布)或者显示在控制台上。+1谢谢你的回答。第一点,我将xerces jar作为外部jar添加到我的应用程序中。因此,从你的回答中,我不确定是选择默认JRE版本还是从我添加的jar中选择。第二部分,操作系统在这两种情况下都是相同的。因此从这一方面来说没有问题。是的。这是由于类路径问题。实际上,在我的应用程序中,为了提高性能,我对nekohtml进行了大量修改(主要是AbstractDomParser
类被更改)。在IBM J9中,它采用了jre/lib/xml.jar中的默认实现。设置属性fConfiguration.setProperty(文档类名称,“org.apache.html.dom.HTMLDocumentImpl”);
解决了这个问题。谢谢。+1谢谢你的回答。第一点,我将xerces jar作为外部jar添加到我的应用程序中。因此,从你的回答中,我不确定是选择默认JRE版本还是从我添加的jar中选择。第二部分,操作系统在这两种情况下都是相同的。因此,这方面没有问题。是的。它是d实际上,在我的应用程序中,为了提高性能,我对nekohtml进行了大量修改(主要是AbstractDomParser
类被更改了)。在IBM J9中,它采用了jre/lib/xml.jar中的默认实现。设置属性fConfiguration.setProperty(DOCUMENT_class_NAME,“org.apache.html.dom.HTMLDocumentImpl”);
解决了这个问题。谢谢。
NodeList tags = doc.getElementsByTagName("td");
for (int i = 0; i < tags.getLength(); i++)
{
Element elem = (Element) tags.item(i);
// do something with elem
}
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pwi32devifx-20070323 (ifix 117674: SR4 + 116644 + 114941 + 116110 + 114881))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323 (JIT enabled)
J9VM - 20070322_12058_lHdSMR
JIT - 20070109_1805ifx3_r8
GC - WASIFIX_2007)
JCL - 20070131