Java利用org.w3c.dom对进行XML进行处理
创建一个document
DocumnetBuilderFactory factory = DocumentBuilderFactory.newInstance();
try{
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocumnet();
}catch(ParserConfigurationException e){
System.out.println(e.getMessage());
}
创建一个节点
Element root = document.createElement("name");
创建一个带命名空间的节点
Element rootNS = document.createNSElement("123.com","name");
给节点添加子节点
Element father = document.createElement("father");
Element child = document.createElement("child");
father.appendChild(child);
获取节点的子节点
//获取最后一个
ele.getLastChild();
//获取第一个
ele.getFirstChild();
//循环获取
NodeList nodelist = ele.getChildNodes();
Element item;
/**
*文本等在这里都会被看作Node,若只想删除节点,则需要判断是否为Element
*/
for(int i=0;i<nodeList.getLength();i++){
if(nodeList.item(i) instanceof Element){
item = (Element)nodeList.item(i);
}
}
删除子节点
ele.removeChild(oldChild);
设置节点文本(内容)
Text text = this.document.createTextNode("example");
ele.appendeChild();
删除节点文本
ele.removeChild(textChild);
设置节点属性
ele.setAttribute("attr-name","attr-value");//若属性名相同,则value直接覆盖
获得节点属性
\\指定属性名获取
String value = ele.getAttribute("attr-name");
\\遍历获取
NameNodeMap attrs = ele.getAttributes();
for(int i=0;i<attrs.getLength();i++){
value = attrs.item(i);
}