1

文字列に保存しようとしているカスタム形式の xml ファイルがあります。私はまだJavaの初心者であり、フォーラムを検索していますが、尋ねられたxmlの質問は、標準のxml形式のxml形式に関連しているようです。

私が使用しなければならないxml形式は次のとおりです。

<playList baseUrl= "Webaddress"
<file name="xxxxxxx.xxx" showTime="YYYY-MM-DD HH:MM" />
<file name="xxxxxxx.xxx" showTime="YYYY-MM-DD HH:MM" />
.......
</playList>

XMLパース用のサンプルコードを試してみたのですが、これは特定の設定です。私はこれを克服するために何時間も努力してきましたが、コードに文字列を取り込もうとしても立ち往生しています。

ここのチュートリアルを見てきましたhttp://www.androidhive.info/2011/11/android-xml-parsing-tutorial/しかし、まだxmlファイルのインポートに行き詰まっています。私のxml形式は標準タグ<> <>と一致しないため、ハッシュマップコードにあると思います。

これが私が現在持っているコードです:

static final String KEY_ITEM ="playlist";
static final String KEY_NAME = "name";
static final String KEY_DESC = "showTime";


    XMLParser parser = new XMLParser();
    String xml = parser.getXmlFromUrl(URL); // getting XML
    Document doc = parser.getDomElement(xml); // getting DOM element

    NodeList nl = doc.getElementsByTagName(KEY_ITEM);


    // looping through all item nodes <item>
    for (int i = 0; i < nl.getLength(); i++) {
        // creating new HashMap
        HashMap<String, String> map = new HashMap<String, String>();
        Element e = (Element) nl.item(i);
        map.put(KEY_COST, getString(e))
        // adding each child node to HashMap key => value
        map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
        map.put(KEY_DESC, parser.getValue(e, KEY_DESC));

        // adding HashList to ArrayList
        menuItems.add(map);

任意のヘルプまたは支援をいただければ幸いです。

ありがとう、

4

1 に答える 1

0

私がよく理解していれば、次の出力が必要です。

xxxxxxx.xx1

YYYY-MM-DD HH:MM

等....

私はこれを次のようにして NamedNodeMap を取得することでこれを行いました:

最初の行の属性属性を取得するには:

xxxxxxx.xx1

doc.getElementsByTagName("file").item(1).getAttributes().item(0).getTextContent();

YYYY-MM-DD HH:MM

doc.getElementsByTagName("file").item(0).getAttributes().item(1).getTextContent();

2行目:

xxxxxxx.xx2

doc.getElementsByTagName("file").item(1).getAttributes().item(0).getTextContent();

YYYY-MM-DD HH:MM

doc.getElementsByTagName("file").item(1).getAttributes().item(1).getTextContent();

引用符の間のテキストのみを表示したい場合は、.getTextContent()を追加するだけです。そうでない場合は、次の出力が得られます -> name="xxxxxxx.xx2" 。
次に、これらの値を HashMap に設定できます。

xml ファイルも確認する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<playList baseUrl= "Webaddress">
<file name="xxxxxxx.xx1" showTime="YYYY-MM-DD HH:MM" />
<file name="xxxxxxx.xx2" showTime="YYYY-MM-DD HH:MM" />
</playList>

私のために働く

それが助けになることを願っています;)

于 2012-12-03T06:19:23.523 に答える