Frage

Beispiel:

generasacodicetagpre.

Ich arbeite an der natürlichen Sprachverarbeitung und ich muss eine Website übersetzen (nicht mit Google Translate), für die ich beide Sätze extrahieren muss "Dies ist zuerst" und "zweiter" separat, damit ich sie durch andere ersetzen kannSprachtext in den jeweiligen Diven.Wenn ich den Text für den ersten extrahieren, wird er angezeigt "Dies ist erstes zweiter" und wenn ich die Rekursion benutze, um tiefer zu graben, wird es nur "zweiter" extrahiert,

hilf mir bitte!

edit

Die Verwendung von eigenständigen () -Methoden erstellt ein Problem in der folgenden HTML-Code:

generasacodicetagpre.

wird druckt:

das.

frei

Enzyklopädie

Jeder kann bearbeiten

aber es muss sein:

das

das

.

Enzyklopädie

Jeder kann bearbeiten

War es hilfreich?

Lösung

Wenn ich Text für den ersten extrahieren, wird er angezeigt "Dies ist erstes zweiter"

Verwenden Sie den generationspoDicetagcode anstelle von ownText() und Sie erhalten nur das Element direkt.

hier ist ein Beispiel:

generasacodicetagpre.

Andere Tipps

Sie können XML-Parser verwenden, in welcher Sprache, in der Sie verwenden.Hier ist für Java: http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/

Es scheint, als ob Sie Textcontent in der DIV-Datei verwenden, um den Inhalt zu extrahieren, der Ihnen den Inhalt dieses Elements und alle abstauschenden Elemente erhält. (Java: Dies wäre das Gettextcontent-Verfahren zum Element)

Untersuchen Sie stattdessen die Childnodes (Java: GetChildNodes-Methode auf dem Element). Die Knoten haben eine Eigenschaft "Nodetype" (Java: Getnodetype), die Sie ansehen können, um herauszufinden, ob der Knoten ein Textknoten ist (Java: Node.Text_Node) oder ein Element (Java: Node.Ilement_node). Um das Beispiel zu nehmen, haben Sie einen Baum von Knoten, die so aussehen ...

generasacodicetagpre.

Der äußere DIV enthält direkt nur zwei Knoten - das erste Text und die innere DIV. Dieser innere DIV enthält dann den Text "Sekunden".

Schleifen Sie also über die Knoten in der äußeren DIV, wenn der Knoten ein Textknoten ist, übersetzen, sonst in das Element zurückkehren. Beachten Sie, dass es andere Arten von Knoten, Kommentaren und dergleichen gibt, aber zu Ihren Zwecken können Sie diese wahrscheinlich ignorieren.

Angenommen, Sie verwenden die W3C DOM-API http://docs.oracle.com/javase /7/docs/api/org/w3c/dom/node.html

generasacodicetagpre.

Dies sollte funktionieren, wenn Sie Jsoup HTML-Parser verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top