Android WARN/ExpatReader(222):DTD处理程序不是';不支持

Android WARN/ExpatReader(222):DTD处理程序不是';不支持,android,Android,我使用SAXParser解析从服务器接收的xml数据。 我创建了一个抽象类XMLPARSER,用抽象方法字符()、StestelEnter()、EntEnEngEnter()扩展Debug。我遇到了这个问题(Health/ExpTeaRead(718):不支持DTD处理程序)。我的解析在中间停止了。 我的代码 公共抽象类XmlParser扩展了DefaultHandler{ 公共XmlParser(最终字符串xmlData){ 解析文档(xmlData); } @凌驾 公共摘要无效字符(char

我使用SAXParser解析从服务器接收的xml数据。 我创建了一个抽象类XMLPARSER,用抽象方法字符()、StestelEnter()、EntEnEngEnter()扩展Debug。我遇到了这个问题(Health/ExpTeaRead(718):不支持DTD处理程序)。我的解析在中间停止了。 我的代码

公共抽象类XmlParser扩展了DefaultHandler{
公共XmlParser(最终字符串xmlData){
解析文档(xmlData);
}
@凌驾
公共摘要无效字符(char[]ch,int-start,int-length)
抛出异常;
@凌驾
公共抽象void endElement(字符串uri、字符串localName、字符串qName)
抛出异常;
私有文档(最终字符串xmlData){
SAXParserFactory spf=SAXParserFactory.newInstance();
试一试{
SAXParser sp=spf.newSAXParser();

InputStream is=new ByteArrayInputStream(xmlData.getBytes(“UTF-8”);这是一个。在FroYo(2.2)中被报告为已修复。

请帮助我……如果有人能提供解决方案,那就太好了
public abstract class XmlParser extends DefaultHandler {

public XmlParser(final String xmlData) {
    parseDocument(xmlData);
}

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

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

private void parseDocument(final String xmlData) {
    SAXParserFactory spf = SAXParserFactory.newInstance();

    try {
        SAXParser sp = spf.newSAXParser();
        InputStream is = new ByteArrayInputStream(xmlData.getBytes("UTF-8"));<----I think i have to change here
        sp.parse(is, this);
    } catch (SAXException ex) {
        ex.printStackTrace();
    } catch (ParserConfigurationException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

@Override
public abstract void startElement(String uri, String localName,
    String qName, Attributes attributes) throws SAXException;