1
try {
    InputStream in = getResources().openRawResource(R.raw.database);
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document doc = builder.parse(in);

    NodeList Day = doc.getElementsByTagName("day");
}

データベース.xml

<Day name = "1">
<Day name = "2">

NodeList Day で Day の名前を解析していると思いますが、NodeList Day は常に「org.apache.harmony.xml.dom.NodeListImpl@41a14db8」を解析します。

私が欲しいのはDayパーサー「1,2,3,4,5,6,7」です。NodeList日で日の値を解析するにはどうすればよいですか?

4

1 に答える 1

3

あなたは要素をうまく解析しています(少なくとも私たちが見る限り)-それは間違っている結果であなたがしていることです。を持っていNodeListます。それを呼び出すtoString()のはあなたが望むものではありません - あなたはname各ノードの属性を取得しようとしています. たとえば、次のようになります。

NodeList dayNodes = doc.getElementsByTagName("day");
List<String> dayNames = new List<String>();
for (int i = 0; i < dayNodes.getLength(); i++) {
    Element day = (Element) dayNodes.item(i);
    dayNames.add(day.getAttribute("name"));
}

... 次に、リストに対して必要なことを行います (たとえば、本当に必要な場合は、リストを単一のコンマ区切りの文字列に変換します)。

于 2014-03-15T12:30:28.853 に答える