XML重复项到具有索引的String数组

时间:2017-04-20 10:27:10

标签: java xml tibco

我需要将XML字符串的重复项转换为索引值为的简单字符串。

<root>
    <items>
        <ammount>200</ammount>
        <qty>20</qty>
    </items>
    <items>
        <ammount>100</ammount>
        <qty>10</qty>
    </items>
    <name>ravi</name>
</root>

预期出局是

name=ravi;items[0].amount=200;items[0].qty=20;items[1].amount=100;items[1].qty=10

这是我在解析XML字符串后到目前为止添加的Java代码。

    private static String convertDocumentToString(Document doc) {

    StringBuffer sbItems = new StringBuffer();
    String strItem = "";
    try {
        doc.getDocumentElement().normalize();
        System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
        NodeList itemList = doc.getElementsByTagName("items");
        for (int i = 0; i < itemList.getLength(); i++) {
            NodeList childList = itemList.item(i).getChildNodes();
            for (int j = 0; j < childList.getLength(); j++) {
                Node childNode = childList.item(j);
                sbItems.append((strItem.concat(itemList.item(i).getNodeName() + "[" + i + "]." + childNode.getNodeName() + "=" + childNode.getTextContent() + ";")));
            }

        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return sbItems.toString();
}

TIA。

0 个答案:

没有答案