android - XML 解析以获取描述选项卡

标签 android

我如何使用 android 中的 xml 解析从给出的 xml 中解析描述细节

<item>
            <title>All India Lawyer Conference at Lucknow </title>
        <description>
<text><![CDATA[<p style="text-align: center;">]]></text>
<image>http://www.bjp.org/images/stories/kamala_2.png</image>
<text><![CDATA[
<p style="text-align: center;"><span style="color: #ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p>
<span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span>
<p style="text-align: center;"><span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">All India Lawyer Conference </span></strong></span></span></p>
<p style="text-align: center;"><span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">at Lucknow (Uttar Pradesh)</span></strong></span></span></p>
<p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color: #008000; font-size: large;"><strong><br /></strong></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color: #ff0000;">of</span></span></em></span></strong></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><span style="font-size: 12pt;"><span style="color: #ff0000;"><strong>on<br /></strong></span></span></p>
<p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 15, 2011 (Sunday)</span></span><br /></strong></p>]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Sun, 15 May 2011 00:00:00 GMT</pubDate>
        </item>

我想要所有以粗体字母显示的文本

我的编码

@Override
    public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException 
    {
        printParseInfo("startElement:", uri, localName, qName);
        int attributesLength = attributes.getLength();
        for (int i = 0; i < attributesLength; i++)
        {
            printAttributeInfo(attributes, i);
        }
        currentElement = true;
        if (localName.equals("rss"))
        {
            /** Start */
            sitesList = new SitesList();
        }
    }
    /** Called when tag closing ( ex:- <name>AndroidPeople</name> -- </name> )*/
    @Override
    public void endElement(String uri, String localName, String qName) throws SAXException 
    {
        currentElement = false; 
        printParseInfo("endElement:  ", uri, localName, qName);
        /** set value */
        if (localName.equalsIgnoreCase("title"))
        {
            //Log.d("title--->",currentValue);
            sitesList.setTitle(currentValue);
        }
        else
        if(localName.equalsIgnoreCase("span"))
        {
            //Log.d("strong-->",currentValue);
            sitesList.setStrong(currentValue);
        }
        if (localName.equalsIgnoreCase("description"))
        {
            //Log.d("description--->",currentValue);
            sitesList.setDescription(currentValue);
        }
        else
        if (localName.equalsIgnoreCase("author"))
        {
            //Log.d("Author--->",currentValue);
            sitesList.setAuthor(currentValue);
        }
        else
        if(localName.equalsIgnoreCase("pubDate"))
        {
            //Log.d("pubDate--->",currentValue);
            sitesList.setPubDate(currentValue);
        }
        else
        if(localName.equalsIgnoreCase("image"))
        {
            //Log.d("Image--->",currentValue);
            sitesList.setImage(currentValue);
        }
    }
    /** Called to get tag characters ( ex:- <name>AndroidPeople</name> -- to get AndroidPeople Character ) */
    @Override
    public void characters(char[] ch, int start, int length) throws SAXException 
    {
        if (currentElement) 
        {
            currentValue = new String(ch, start, length);
            Log.d("char-->",currentValue);
            currentElement = false;
        }
    }

最佳答案

使用 XML 解析器:

  1. > SAX
  2. > DOM
  3. > StAX

关于android - XML 解析以获取描述选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854423/

相关文章:

android - 主机是否是 Android 深度链接所需的配置?

android - ROOM迁移过程中如何处理索引信息

android - 如何在android中的Asynctask中使用自定义进度条

java - SimpleXML,将具有动态名称的子项转换为列表

java - 从 JAVA 中的游标获取 SQL 命令(android)

android - onCreateOptionsMenu 没有出现

java - .concat 无法读取空间

android - RemoveAllViews 不删除 View

android - 如何更改单选按钮 ListView 的字体大小?

java - 由于某种原因,我的 java 类不会继承 public void。有人可以帮助我吗?