以下のコードを使用してxmlを解析しようとしています。解析して値を読み取ることができます。ただし、ノード「INFO」を読み取るようにコードを変更する方法がわかりません。そのノードをエスケープして、PARAMを直接使用しています。以下のように:
XML
<?xml version="1.0" encoding="UTF-8"?>
<myxml>
<id>23343</id>
<INFO>
<PARAM>
<PARAM_NAME>data</PARAM_NAME>
<PARAM_VALUE>345</PARAM_VALUE>
</PARAM>
<PARAM>
<PARAM_NAME>CdataID</PARAM_NAME>
<PARAM_VALUE>6788</PARAM_VALUE>
</PARAM>
</INFO>
</myxml>
Javaコードは次のとおりです。
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("PARAM");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if (getTagValue("PARAM_NAME",eElement).equals("data")) {
String type = getTagValue("PARAM_VALUE", eElement);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getTagValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
}
INFOノードを追加したいのですが、上記のコードを変更するにはどうすればよいですか?