3

XML フィードから記事をインポートするときにプログレス バーを作成したいと考えています。

解析は正常に機能しますが、プログレス バーについては、フィード内の の合計数をすばやく把握して、<item>読み込まれた割合を判断できるようにする必要があります。

私の考えでは、PHP でこれを行い、「カウント」をフィード自体に追加する方がはるかに高速です。次のようなものです。

<?xml version="1.0" encoding="utf-8"?>
<channel>
<title>My Apps Feed</title>
<link>http://link_to_this_fiel</link>
<language>en-us</language>
<count>42</count>

しかし、その「カウント」数にすばやくアクセスできる必要があります。

現時点では、次RSSHandler.javaのように呼び出されています。

//Add all items from the parsed XML
for(NewsItem item : parser.getParsedItems())
{
    //...

注: アプリの最小 API レベル 8

4

2 に答える 2

0

Xpath を使用して、XML で特定のノード値を取得できます。サンプルは次のとおりです。

SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(.....); // get document for your xml here
Element elem = (Element) XPath.selectSingleNode(doc, "channel/count");
System.out.println(elem.getValue());

このようにして、カウント値を直接取得できます。しかし、これがこれを行うための効率的で高速な方法であるかどうかはわかりません。オプションとして、これを使用できます。また、これを読むのに少し時間を費やしてください: SAX 解析 - テキストノードを取得する効率的な方法

于 2013-01-22T04:56:37.493 に答える