Frage

Ich versuche, einige HTML zu analysieren mit NekoHTML .

Das Problem ist, dass, wenn der folgende Code-Schnipsel auf dem SUN JDK 1.5.0_01 ausgeführt wird, es funktioniert gut (das ist, wenn ich Eclipse bin mit mit Sonne jre). Aber wenn die gleiche Sache auf IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323 (JIT enabled) ausgeführt wird, dann ist es nicht funktioniert (das ist, wenn ich für die Entwicklung des IBM RAD verwende).

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

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

Durch die feine Arbeit meine ich, dass ich eine Liste von „td“ Elemente immer bin, die ich weiter verarbeiten kann. Im Fall der J9 ich Eingabe bin nicht die for Schleife.

Ich bin mit neuester Version von NekoHTML (zusammen mit den gebündelten Xerces Gläsern). Die doc in dem obigen Code ist vom Typ org.w3.dom.Document (die verwendete Laufzeitklasse ist org.apache.html.dom.HTMLDocumentImpl)

Die Details IBM J9 sind wie folgt:

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

Jede Idee, Vorschlag oder Abhilfe wird geschätzt. Danke.

War es hilfreich?

Lösung

Ich habe 2 Ideen.

  1. Ich habe gerade festgestellt, dass xerces ist ein Teil der JRE-Installation, so dass ich glaube, dass es von dort zu dem Classpath der Anwendung kommt. Wahrscheinlich SUN und IBM bringen Sie verschiedene Versionen von xerces. So, als ein erster Ansatz es überprüfen und wahrscheinlich versuchen zu ersetzen, was Sie unter IBM auf die Sonne-Version. Wenn es hilft, haben Sie 2 Möglichkeiten: weiter mit IBM Java mit xerces von SUN oder weiter zu untersuchen, was mit xerces von IBM falsch
  2. .
  3. Gibt es weitere Unterschiede zwischen Ihren Entwicklern und Produktionsumgebungen? Sind das die gleichen Betriebssysteme? Ist es eine Chance, dass Sie (zum Beispiel) Fenster für die Entwicklung und Unix für die Produktion, sondern Ihre xml geschrieben unter Windows mit \ r \ n als neuer Zeile verwenden? Oder noch mehr: Wenn Ihr XML enthält Unicode-Zeichen und geschrieben in den Fenstern kann es spezielle (unsichtbar) Präfix enthalten, die darauf hinweisen, dass Unicode ist. Dieser Präfix kann Parser fehlschlagen verursachen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top