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的值?
答案 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"));
}
...然后对列表执行任何操作(例如,如果您真的想将其转换为单个逗号分隔的字符串)。