如何在 android 中使用 SAX Parser 为解析的 xml 文件设置 UTF-8

Posted

技术标签:

【中文标题】如何在 android 中使用 SAX Parser 为解析的 xml 文件设置 UTF-8【英文标题】:How to set UTF-8 for the parsed xml file using SAX Parser in android 【发布时间】:2011-12-28 15:41:59 【问题描述】:

我正在解析从远程服务器获取的 XML 文件,该文件包含一些使用 SAX Parser 的不同字体,我想将 UTF-8 设置为此。我该如何设置?

代码是:

SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();
                   /** Send URL to parse XML Tags */
        URL sourceUrl = new URL(myURL);
        /** Create handler to handle XML Tags ( extends DefaultHandler )*/
        MyXMLHandler myXMLHandler = new MyXMLHandler();
        xr.setContentHandler(myXMLHandler);
        xr.parse(new InputSource(sourceUrl.openStream())); 

等待SO的帮助,

谢谢。

【问题讨论】:

【参考方案1】:

您可以在 InputSource 中设置编码:http://developer.android.com/reference/org/xml/sax/InputSource.html

它有一个方法setEncoding(String encoding) - 将它设置为“UTF8”

【讨论】:

【参考方案2】:

使用下面的代码来解析 xml 响应。

Xml.parse(in, Xml.Encoding.UTF_8, contentHandler);

【讨论】:

以上是关于如何在 android 中使用 SAX Parser 为解析的 xml 文件设置 UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

How to parse Xml file -- SAX!

python使用SAX解析xml

如何使用 SAX 解析器解析名称空间?

如何在 Android 中禁用多个推送通知图标,我正在使用 Parse.com

Android:如何使用 Parse.com 的 Bolts 同步查询?

如何使用 Parse.com 推送通知服务在 Android 应用程序中推送 URL?