【问题标题】:To Read XML file in UTF-8 format string using Android使用 Android 读取 UTF-8 格式字符串的 XML 文件
【发布时间】:2010-07-20 07:06:19
【问题描述】:

尊重所有人, 我必须读取 XML 文件,因为我使用 SAXParser 和 DefaultHandler 使用方法字符(char [] ch,int start,int length),但它给出的输出带有一些额外的字符,例如 [] 代替 '#13'。有人告诉我,如果我以 UTF-8 格式读取该字符串,那么它将删除所有多余的字符。如果是的话,我是否必须以 UTF-8 格式阅读它,那么我该如何阅读它。 谢谢你 (维克拉姆·卡达姆)

【问题讨论】:

    标签: android


    【解决方案1】:

    我用它来解析 SAXparser:

    URL url = new URL(urlToParse);
    SAXParserFactory spf = SAXParserFactory.newInstance();
    // here we get our SAX parser
    SAXParser sp = spf.newSAXParser();
    // we fuse it to a XML reader
    XMLReader xr = sp.getXMLReader();
    DefaultHandler handlerContact = new DefaultHandler();
    // we give it a handler to manage the various events
    xr.setContentHandler(handlerContact);
    // and finally we open the stream to the url
    InputStream oS = url.openStream();
    // and parse it
    xr.parse(new InputSource(new InputStreamReader(oS, Charset.forName("utf-8"))));
    // to retrieve the list of contacts created by the handler
    result = handlerContact.getEntries();
    // don't forget to close the resource
    oS.close();
    

    只要您正在解析的初始文件以 UTF-8 正确编码,我就不会遇到任何问题。检查是否是,因为有时,当您使用计算机的默认配置时,默认不是 UTF-8 而是 ANSI 或 ISO-8859-1

    【讨论】:

    • 谢谢 Sephy 它给了我 Utf-8 格式的字符串,但是有一些 html 标签,例如 <b>或 并显示在不同的地方。有什么方法可以一次删除这些标签吗?如果是,请帮助我。
    • 是的,对于这种标签,您必须将字符串传递给 Html.fromHtml 方法。它将以正确的格式返回您的标签。然后你可以把它放在一个 WebView 中。如果它解决了您的问题,请不要忘记检查/投票答案。
    • 谢谢你。它工作正常并显示没有任何 html 标记的输出。我搜索了超过三天,但是这个功能很好用。
    • 嗨,Sephy,我是 vikram。你能帮我使用 MediaPlayer 类播放原始文件夹中的视频文件吗?
    • 我用过 MediaPlayer mp = MediaPlayer.create(VideoPlayer.this,R.raw.dobeernotdrugs);
    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多