1

DOMを使用してXMLフィードを解析しようとしています。ノードが次のようになっている場合:

<title>&#039;Star Wars&#039; May the force live</title>

返されるXMLは'のみであり、パーサーは次のノードに進みます。

これが私がそれを解析している方法です:

NodeList list = node.getChildNodes();
    for (int j=0; j<list.getLength(); j++) {
        Node innerItem = list.item(j);
        String name = innerItem.getNodeName();

        if (name.equalsIgnoreCase("title")) {
            vo.setTitle(innerItem.getFirstChild().getNodeValue());
        }
    }

どうすればこれを修正できますか?コードはAndroid4では正常に解析されますが、Android2.3.3では失敗します

4

1 に答える 1

2

あなたの質問はこれと非常によく似ているように見えます: xml ファイル内の android デコード html

HTML 文字は DOM パーサーを壊すようで、xml エンティティから文字列を取得できません。文字列内の HTML を解析する HTML 関数があります。

TextView tv;
String s = "<quote>&#039;Star Wars&#039; May the force live</quote>";
tv.setText(HTML.fromHtml(s));

出力:

"Star Wars" May the force live

ただし、DOM は変換する文字列を取得していないようです。そのため、次の記事が役立つかもしれません: Using XPATH and HTML Cleaner to parse HTML/XML

于 2012-08-17T04:22:48.200 に答える