从xml文件中获取图像URL

时间:2016-01-21 15:33:36

标签: javascript xml android-studio rss feed

在Android Studio中,从xml文件中获取图像网址似乎很棘手。我试图对30个RSS Feed xmls的图像网址进行分类,发现其中95%正在使用" .jpg"图像和链接总是以" http"开头,而不是" www。"。所以,我试着写一段代码:

  1. 从" item"的节点列表中获取一个节点(参见xml_part); xml文件的节点,成为字符串。
  2. 从字符串的开头到达" .jpg"并剪下其余的字符串。
  3. 从那" .jpg"指向和向后到达" http"指出并剪下其余部分。
  4. 保存图片网址以供日后使用。
  5. xml_part

    <item>
     <title>Πάνω από 1 στα 3 νοικοκυριά ζει με ετήσιο εισόδημα κάτω από 10.000 ευρώ</title>
     <link>http://tvxs.gr/news/ellada/pano-apo-1-sta-3-noikokyria-zei-me-etisio-eisodima-kato-apo-10000-eyro</link>
     <description>&lt;p&gt;Συντριπτικά αρνητικές είναι οι προσδοκίες των νοικοκυριών καθώς το 70% αναμένει επιδείνωση της οικονομικής του κατάστασης και μόνο το 5,1% προσδοκά σε βελτίωση των οικονομικών του δυνατοτήτων, όπως προκύπτει από την &lt;strong&gt;έρευνα&lt;/strong&gt; του Ινστιτούτου Μικρών Επιχειρήσεων της &lt;strong&gt;ΓΣΕΒΕΕ&lt;/strong&gt; για το &lt;strong&gt;εισόδημα&lt;/strong&gt; και τις &lt;strong&gt;δαπάνες&lt;/strong&gt; των νοικοκυριών για το &lt;strong&gt;2015&lt;/strong&gt;.&lt;/p&gt;
    &lt;div class=&quot;field field-type-filefield field-field-article-image&quot;&gt;
        &lt;div class=&quot;field-items&quot;&gt;
                &lt;div class=&quot;field-item odd&quot;&gt;
                        &lt;img src=&quot;http://im2ns5.27210.gr/sites/default/files/imagecache/280x/article/2016/03/194269-ellada-krisi-oikonomia-anergia.jpg&quot; alt=&quot;&quot; title=&quot;&quot;  class=&quot;imagecache imagecache-280x imagecache-default imagecache-280x_default&quot; width=&quot;280&quot; height=&quot;175&quot; /&gt;        &lt;/div&gt;
            &lt;/div&gt;
    &lt;/div&gt;
    &lt;p&gt;&lt;a href=&quot;http://tvxs.gr/news/ellada/pano-apo-1-sta-3-noikokyria-zei-me-etisio-eisodima-kato-apo-10000-eyro&quot; target=&quot;_blank&quot;&gt;διαβάστε περισσότερα&lt;/a&gt;&lt;/p&gt;</description>
     <category domain="http://tvxs.gr/taxonomy/term/2">Ελλάδα</category>
     <category domain="http://tvxs.gr/taxonomy/term/78458">ΓΣΕΒΕΕ έρευνα ετήσιο οικογενειακό εισόδημα Δεκέμβριος 2015</category>
     <category domain="http://tvxs.gr/taxonomy/term/78459">μείωση εισοδημάτων Ελλάδα νοικοκυριά 2015</category>
     <pubDate>Thu, 21 Jan 2016 15:09:50 +0000</pubDate>
     <dc:creator>Ειρήνη Ορφανίδου</dc:creator>
     <guid isPermaLink="false">194269 at http://tvxs.gr</guid>
    </item>
    

    我的代码

    String WholeNode = nl.item(i).getNodeValue();
    int WholeNode_length = WholeNode.length();
    
    for (int WN = 0; WN < WholeNode_length; WN++) {
    
        String JPGChecker = WholeNode.substring(WN,WN+4);
    
            if (JPGChecker.equals(".jpg")) {
                WholeNode = WholeNode.substring(0,WN+4);
                WholeNode_length = WholeNode.length();
            }
    }
    
    for (int SN = WholeNode_length; SN > 0; SN--) {
    
        String HTTPChecker = WholeNode.substring(SN-4, SN);
    
        if (HTTPChecker.equals("http")) {
            WholeNode = WholeNode.substring(SN, WholeNode_length);
            WholeNode_length = WholeNode.length();
        }
    }
    
    _item.setImage(WholeNode);
    

    不能工作,不明白为什么,请帮助新手。

    另外,如果是真的话,有必要打破第一次。也许像sotmething:

    GETOUT: for (...
    

    if (...) { ...; break GETOUT;}
    

    另外5%的xmlcategorization是其中图像不是.jpg(容易改变上面的代码包括其他图像格式)和其他情况,其中网址不是从顶部&#34;但在&#34; http://www.antikoukou.com/&#34;之后对于前。

1 个答案:

答案 0 :(得分:0)

访问链接http://developer.android.com/training/basics/network-ops/xml.html#parse

  1. 创建解析器
  2. 解析parser.next() in while,直到获得所需参数
  3. 获取参数值:

    parser.require(XmlPullParser.START_TAG, ns, "link");
    String link = readText(parser);
    parser.require(XmlPullParser.END_TAG, ns, "link");
    
  4. 或者,如果您只需要每个链接属性,则可以在循环(while)中使用parser.require运行link,并将readText的每个结果放在数组中。

    此致