Pregunta

Estoy tratando de analizar algo de HTML usando NekoHTML .

El problema es que cuando el siguiente fragmento de código se ejecuta en el SUN JDK 1.5.0_01 funciona bien (esto es cuando estoy usando Eclipse con Sun JRE). Pero cuando el mismo se ejecuta en IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323 (JIT enabled) entonces no está funcionando (esto es cuando estoy usando el IBM RAD para el desarrollo).

NodeList tags = doc.getElementsByTagName("td"); 

for (int i = 0; i < tags.getLength(); i++) 
{
 Element elem = (Element) tags.item(i);
 // do something with elem
}

Por trabajar muy bien quiero decir que me estoy haciendo una lista de elementos "TD" que puedo procesar más. En el caso de la J9 no está entrando en el bucle for.

Estoy utilizando la versión más reciente de NekoHTML (junto con los tarros Xerces paquetes). El doc en el código anterior es de tipo org.w3.dom.Document (la clase de tiempo de ejecución utilizado es org.apache.html.dom.HTMLDocumentImpl)

Los datos de IBM J9 son los siguientes:

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

Cualquier idea, sugerencia o solución es apreciado. Gracias.

¿Fue útil?

Solución

Tengo 2 ideas.

  1. acabo de comprobar que xerces es una parte de la instalación de JRE, por lo que creo que llegue a la ruta de clase de su aplicación a partir de ahí. Probablemente SUN e IBM que aportan diferentes versiones de xerces. Por lo tanto, como una primera aproximación comprobarlo y, probablemente, tratar de reemplazar lo que tiene con IBM a la versión del sol. Si se ayuda a que tiene 2 opciones: continuar ejecutando IBM Java con xerces de sol o continúan investigando lo que está mal con xerces de IBM
  2. .
  3. ¿Hay otras diferencias entre su dev y entornos de producción? Son estos los mismos sistemas operativos? Es una oportunidad que está utilizando (por ejemplo) de Windows y UNIX para el desarrollo de la producción, pero el código XML se escribe en Windows con \ r \ n como una nueva línea? O aún más: si el código XML contiene caracteres Unicode y escrito en las ventanas que puede contener especial (invisible) prefijo que indica que este es Unicode. Este prefijo puede causar analizador falle.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top