由于标签,SAX解析器会忽略文本

时间:2014-04-05 16:06:31

标签: java android xml parsing sax

这里有一个小问题,我不知道如何解决它。 我有一个XML文件,如下所示:

<?xml version="1.0"?>
<item>
 <title>Item 1</name>
 <description>Description Text 1&lt;br /&gt;Description Text 2</description>
</item>

我有一个SAX解析器,如下所示:

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
    if ("item".equals(qName)) {
        currentItem = new Item();
    } else if ("title".equals(qName)) {
        parsingTitle = true;
    } else if ("description".equals(qName)) {
        parsingDescription = true;
    }
}

@Override
public void endElement(String uri, String localName, String qName) throws SAXException {

    System.out.println("Testing endelement");

    if ("item".equals(qName)) {
        Items.add(currentItem);
        currentItem = null;
    } else if ("title".equals(qName)) {
        parsingTitle = false;
    } else if ("description".equals(qName)) {
        parsingDescription = false;
    }
}

@Override
public void characters(char[] ch, int start, int length) throws SAXException {

    System.out.println("writing");

    if (parsingTitle) {
        if (currentItem != null)
            currentItem.setTitle(new String(ch, start, length));
    } else if (parsingDescription) {
        if (currentItem != null) {
            currentItem.setDescription(new String(ch, start, length));
            parsingDescription = false;
        }
    }

问题是SAX只解析标签中文本的第一部分,直到&#34;&lt; br /&gt;&#34;文本(这是标签)并忽略其余部分。 如何使SAX解析器忽略&#34;&lt; br /&gt;&#34;并解析其余的描述?

感谢。

0 个答案:

没有答案