<statement id="1">sdfsd1</statement>
<statement id="2">sdfsd2</statement>
<statement id="3">sdfsd3</statement> 我现在有一个这样的XML,用户可以通过指定的ID编号获得指定的值,目前解析的方式是W3C,请老鸟帮帮忙,谢谢。
<statement id="2">sdfsd2</statement>
<statement id="3">sdfsd3</statement> 我现在有一个这样的XML,用户可以通过指定的ID编号获得指定的值,目前解析的方式是W3C,请老鸟帮帮忙,谢谢。
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(Class.class.getResourceAsStream("xxx.xml")); //这里假设你拿到了一个Document对象
//NodeList nl = doc.getChildNodes(); //不知道你的xml文件结构
NodeList nl = doc.getElementsByTagName("statement"); //这里通过tag名获得子节点
for (int i=0; i<nl.getLength(); i++) { //遍历子节点
Node n = nl.item(i);
if (n instanceof Element) {
Element e = (Element)n;
//System.out.printf("id=%s, content=%s\n",
// e.getAttribute("id"), n.getTextContent());
if (your_id.equals(e.getAttribute("id"))) { //找到id一致的节点
System.out.println(n.getTextContent()); //打印节点内容
}
}
}
上次回答问题的小例子<category name="sms.dlut" additivity="false">
<priority value="debug" />
<appender-ref ref="DEBUG_LOG" />
</category>
public class Dom4jTest {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("D:\\WorkSpace6.5\\CSDNTest\\src\\test.xml"));
Element root = document.getRootElement(); Element priority = root.element("priority");
System.out.println(priority.attributeValue("value"));
Element appenderref = root.element("appender-ref");
System.out.println(appenderref.attributeValue("ref"));
}
}