मैं XML से कुछ डेटा पार्स करने के लिए एक प्रोजेक्ट कर रहा हूं।जावा SAX पार्सर स्प्लिट अक्षरों को कॉल करता है()
उदाहरण के लिए, एक्सएमएल
<abc>abcdefghijklmno</abc>
मैं "abcdefghijkmnlp" पार्स करने के लिए की जरूरत है।
लेकिन जब मैं अपने पार्स का परीक्षण, मैं एक बड़ी समस्या की खोज:
public class parser{
private boolean hasABC = false;
//Constructor HERE
......................
......................
@Override
public void startDocument() throws SAXException{
}
@Override
public void endDocument() throws SAXException{
}
@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException{
if ("abc".equalsIgnoreCase(localName)) {
this.hasABC = true;
}
}
@Override
public void endElement(String namespaceURI, String localName, String qName) throws SAXException{
if ("abc".equalsIgnoreCase(localName)) {
this.hasABC = false;
}
}
@Override
public void characters(char ch[], int start, int length){
String content = new String(ch, start, length).trim();
if(this.hasABC){
System.out.println("ABC = " + content);
}
}
}
मैं पता चलता है कि पार्सर टैग दो समय सिस्टम प्रिंट पार्स है बाहर है,
एबीसी = abcdefghi
एबीसी = jklmno < < ============ संदेश
विभाजित क्यों पार्सर ऑटो पात्रों को वापस कॉल करें() दो बार ????
क्या एक्सएमएल कुछ "\ n" या "\ r" ???
हाय @ रेबेका, क्या आपको इस समस्या का समाधान मिला, मुझे एक ही समस्या का सामना करना पड़ रहा है। – Ramesh