我正在使用Java项目读取XML文件。如果标签是常规标签(即带有开始标签和结束标签),则一切正常。示例:
<Packages>
<Number>20</Number>
<Marks_one>ONE</Marks1_one>
<Marks_two>
<null/>
</Marks_two>
<code>PX</code>
<name>Pallet </Kind>
</Packages>
这些标签的所有值都可以读取,包括。但是在同一文件中,我是这样的:
<Packages>
<Number/>
<Marks_one>ONE</Marks1_one>
<Marks_two>
<null/>
</Marks_two>
<code>PX</code>
<name>Pallet </Kind>
</Packages>
这里是自动关闭,也没有任何属性。 Java在这里给出异常,并且exception为null。如果标签是自动关闭的,我将忽略它。请告诉如何确定该标签是自动关闭的还是常规的?
解析XML的代码如下:
NodeList Packages_List = Item_Element.getElementsByTagName("Packages");
System.out.println("Packages_List.getLength() : "+Packages_List.getLength());Node Packages_Node = Packages_List.item(0);if(Packages_Node.getNodeType() == Node.ELEMENT_NODE){
Element Packages_Element = (Element)Packages_Node;
NodeList Number_of_packages_List = Packages_Element.getElementsByTagName("Number");
Element Number_of_packages_element =(Element)Number_of_packages_List.item(0);
NodeList text_Number_of_packages_List = Number_of_packages_element.getChildNodes();
Number=((Node)text_Number_of_packages_List.item(0)).getNodeValue().trim();
System.out.println("Number : "+Number);
}