解析错误的元素....我不知道如何解析一天

时间:2014-03-15 12:27:30

标签: java android xml xmlnodelist

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

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

database.xml

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

我想我在NodeList Day解析了Day的名字,但NodeList Day总是解析&#34; org.apache.harmony.xml.dom.NodeListImpl@41a14db8"

我想要的是Day解析器&#34; 1,2,3,4,5,6,7&#34;。如何在NodeList日解析Day的值?

1 个答案:

答案 0 :(得分: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"));
}

...然后对列表执行任何操作(例如,如果您真的想将其转换为单个逗号分隔的字符串)。