Irgendeine Idee, was mache ich hier falsch.SAX Parser Newline
Dies ist die XML-Datei
<text xml:space="preserve">{{Redirect|Anarchist|the fictional character|Anarchist (comics)}}
{{Redirect|Anarchists}}
{{Anarchism sidebar}}
{{Libertarianism sidebar}}
</text>
Nun, wenn ich es mit Hilfe von SAX-Parser bin Parsen, zB für diese Methode meiner Charaktere
public void characters (char ch[], int start, int length) throws SAXException{
System.out.println(text);
if (text){
System.out.println(testData); //testData is StringBuilder
if (testData != null){
for (int j=start; j < (start + length); j++){
testData.append(ch[j]);
}
}
}
text = false
}
Das ist meine Startelement-Methode
istpublic void startElement(String uri, String localname, String qName, Attributes attributes) throws SAXException {
if (qName.equalsIgnoreCase("text")) {
text = true;
}
}
aber meine Zeichen Funktion wird nur einmal aufgerufen. Ich dachte, es würde mehrere Male aufgerufen werden und dann könnte ich die
Angesichts der Code, den Sie bereitgestellt haben, bin ich überrascht, dass die 'Zeichen'-Funktion auch nur einmal aufgerufen wird. Ich sehe keinen Code, der die Funktion 'characters' aufruft ... – Kiril
Ihr Code wird nicht einmal kompiliert. Bitte beheben Sie es, bearbeiten Sie dann Ihre Frage und geben Sie den richtigen Code ein. Außerdem hat die Formatierung den Code sehr unübersichtlich gemacht, was vermutlich die Ursache Ihres Problems ist. –
Jungs, ich habe gerade 2 Methoden des SAX-Parsers erwähnt. Die anderen Methoden sind startElement und endElement. Die Methode characters wird aufgerufen, wenn wir den Flag-Text in der startElement-Methode auf true setzen. Der Code ist in Ordnung. Nur dass es liest, {{Redirect | Anarchist | der fiktive Charakter | Anarchist (Comics)}} {{Redirect | Anarchists}} der XML-Datei und nicht den gesamten Text – Gaurav