1、新建一个web项目
2、新建一个xml文件
personl.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?><person>
<p1>
<name>zhagnsan</name>
<age>23</age>
</p1>
<p1>
<name>lily</name>
<age>18</age>
</p1>
</person>
3、新建一个java类
Jaxptest.java
查询单个节点
//查询第一个name的值
public static void selectSin() throws Exception{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse("src/person.xml");
NodeList nodeList = document.getElementsByTagName("name");
Node name1 = nodeList.item(0);
String s = name1.getTextContent();
System.out.println(s);
}
查询所有
//查询第一个name的值
public static void selectSin() throws Exception{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse("src/person.xml");
NodeList nodeList = document.getElementsByTagName("name");
Node name1 = nodeList.item(0);
String s = name1.getTextContent();
System.out.println(s);
}
增加新节点
//添加新接点
public static void addContact() throws Exception{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse("src/person.xml");
NodeList nodeList = document.getElementsByTagName("p1");
Node nodeName = nodeList.item(0);
Element sex = document.createElement("sex");
Text text1 = document.createTextNode("nv");
sex.appendChild(text1);
nodeName.appendChild(sex);
System.out.println(nodeName);
//回写xml文件
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(new DOMSource(document),new StreamResult("src/person.xml"));
}
修改节点
//修改接点
public static void motifyContact() throws Exception{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
Document document = documentBuilder.parse("src/person.xml");
Node node = document.getElementsByTagName("sex").item(0);
node.setTextContent("nan");
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(new DOMSource(document),new StreamResult("src/person.xml"));
}
删除节点
//删除接点
public static void deleteContace() throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/person.xml");
Node node = document.getElementsByTagName("sex").item(0);
Node parentNode = node.getParentNode();
parentNode.removeChild(node);
TransformerFactory factory1 = TransformerFactory.newInstance();
Transformer transformer = factory1.newTransformer();
transformer.transform(new DOMSource(document),new StreamResult("src/person.xml"));
}
遍历所有节点
public static void listMap() throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/person.xml");
traverseContacts(document);
}
//traverseContacts
public static void traverseContacts(Node node)throws Exception{
System.out.println(node.getNodeName());
NodeList nodeList = node.getChildNodes();
for (int i = 0;i<nodeList.getLength();i++){
Node node1 = nodeList.item(i);
traverseContacts(node1);
}
}