识别Java中XML的自动关闭标记

时间:2018-10-02 07:05:10

标签: java xml

我正在使用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);

}

0 个答案:

没有答案