SAX解析器在解析特殊字符“:”时收到错误

时间:2012-09-11 07:36:48

标签: android

    <media:group>
       <media:content type="video/mp4"   
                      url="http://cdn2.junctiontv.net/dmv/roku/ChiroDiniTumiJeAmar2997fps800kbpsForIPTV.mp4" 
                      bitrate="800" 
                      duration="8100"/>
    </media:group>
    <media:thumbnail 
            url="http://cdn2.junctiontv.net/dmv/images/ChiroDiniTumiJeAmar158x204.png"/>

我正在尝试使用SAX Parser解析此xml。但由于:在标签中出现错误。但是,如果我替换删除:即改变其工作正常。但问题是,如果我这样做,我在url中收到错误:在http后删除。

任何解决方案?????????

3 个答案:

答案 0 :(得分:0)

使用

而不是使用SAXparder
android.util.Xml.parse(InputStream,Xml.Encoding.ISO_8859_1, DefaultHandler);

解决这个问题...

答案 1 :(得分:0)

最后设法做到了.....在一个圆形的过程中。如果代码只包含http://

,它可以正常工作
  String text2=text1.replaceAll(":", "");
  String text3=text2.replaceAll("http", "http:");

将这两行添加到我的代码中,可以使一切顺利。

答案 2 :(得分:0)

这是一个合适的代码。将此代码添加到任何SAX Parser代码中,可以解析包含http://和https://的xml。

       String text10=text9.replaceAll(":", "");                 //text9 is any valid  url with http:// or https://  or both

        String text11="",text12="",text13="",text14="";

        if(text10.contains("http//"))
        {
        text14=text10.replaceAll("http//", "http://");

        }

        if(text10.contains("https//"))
        {
         text14=text10.replaceAll("https//", "https://");

        }

        if(text10.contains("https//") && (text10.contains("http//")))
        {
            if(text10.contains("http//"))
            {
            text13=text10.replaceAll("http//", "http://");
            }
            if(text13.contains("https//"))
            {
             text14=text13.replaceAll("https//", "https://");
            }

        }

        System.out.println("This is demo text     " + text14);