Java 使用DOM解析器
我正在尝试使用以下代码解析xml,我能够解析它并读取值。但我不确定如何修改代码以读取节点“INFO”,我已转义该节点并直接使用PARAM,如下所示: XMLJava 使用DOM解析器,java,xml,xml-parsing,Java,Xml,Xml Parsing,我正在尝试使用以下代码解析xml,我能够解析它并读取值。但我不确定如何修改代码以读取节点“INFO”,我已转义该节点并直接使用PARAM,如下所示: XML 23343 数据 345 CDATA ID 6788 java代码是: DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocument
23343
数据
345
CDATA ID
6788
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();
}
}
DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
documentdoc=dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList=doc.getElementsByTagName(“参数”);
对于(int-temp=0;temp
我想添加INFO节点,如何修改上述代码?上面的代码在param节点上循环,但不处理它们。您的问题是“如何添加信息节点”。但是加上什么呢?您想对INFO节点做什么?能否在添加另一个INFO节点后添加要获取的输出XML?
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();
}
}