我正在开发一个 java 类来解析这个 xml 文件:
<document src="xmls/sections/modules/200_1.xml">
<module name="product_info" id="1">
<product_primary_id>200</product_primary_id>
<product_section_id>1</product_section_id>
<product_section_item_id></product_section_item_id>
<type>1</type>
<position>1</position>
<align>top</align>
<url href="productview/info.html"></url>
</module>
</document>
我有这个java类:
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(contingut);
doc.getDocumentElement().normalize();
//loop a cada module
NodeList nodes = doc.getElementsByTagName("module");
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
Element element = (Element) node;
if(element.getNodeType() == Element.ELEMENT_NODE){
Log.d("debugging","product_primary_id: "+getValue("product_primary_id",element));
Log.d("debugging","product_section_id: "+getValue("product_section_id",element));
//Log.d("debugging","product_section_item_id: "+getValue("product_section_item_id",element));
Log.d("debugging","type: "+getValue("type",element));
Log.d("debugging","position: "+getValue("position",element));
Log.d("debugging","align: "+getValue("align",element));
//Log.d("debugging","url: "+getValue("url",element));
}
}
} catch (Exception e){
e.printStackTrace();
}
正如你所看到的,它为每个“模块”标签循环并获取它的子值。但是我需要模块中的名称属性,但是因为它是一个 NodeList,所以不能使用方法getAttribute("name");
任何的想法?