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”

我想要的是日解析器“1,2,3,4,5,6,7”。如何在 NodeList day 中解析 Day 的值?

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 回答