jaxp解析xml
2019-08-16 15:20 进击的菜鸟123 阅读(211) 评论(0) 收藏 举报1使用jaxp实现查询操作
*查询xml中所有的name的值
- 创建解析器工厂
- 根据解析器工厂创建解析器
- 解析xml返回document
- 得到所有name元素
- 遍历集合
Public static void main(String args[]) throws Exception{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(“src/person.xml”);
NodeList list = document.getElementsByTagName(“name”);
for(int i = 0;i<list.getLength();i++){
Node name1 = list.item(i);
String s = name1.getTextContent();
System.out.println(s);
}
}
- 查询得到xml中第一个name元素
- 创建解析器工厂
- 根据解析器工厂创建解析器
- 解析xml得到document
- 得到所有name元素
- 使用返回的集合,里面的item下标获取具体元素
- 得到具体的集,getTextConteng()
Public static void main(String args[]){
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(“src/person.xml”);
NodeList list = document.getElementsByTagName(“name”);
Nade name1 = list.item(0);
String s = name1.getTextContent();
System.out.println(s);
}
- 使用jaxp添加节点
*在第一个p1下面添加<sex>nv</sex>
- 创建解析器工厂
- 根据解析器工厂创建解析器
- 解析xml得到document
- 得到所有p1元素,得到p1
- 创建sex标签 createElement
- 创建文本 createTextNode
- 将文本加到sex下面 appendchild
- 将sex加到第一个p1底下
- 回写xml
Public static void main(String args[]){
DcomentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(“src/person.xml”);
Node p1 = document.getElementsByTagName(“p1”).item(0);
Element sex1 = createElement(“sex”);
Text text1 = createTextNode(“nv”);
Sex1.appendChild(text1);
p1.appendChild(sex1);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Transformer.transformer(new DOMSource,new StreamResult(“src/person.xml”);
}
- 使用jaxp修改节点
*将sex下的值改为nan
- 创建解析器工厂
- 使用解析器工厂创建解析器
- 解析xml得到document
- 得到<sex>元素
- 修改sex里面的值setTextContent
- 回写xml
Public static void main(string srg[]){
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DcoumentBuileder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(“src/person.xml”);
Node sex1 = document.getElementsByTagName(“sex”).item(0);
Sex1.setTextContent(“nan”);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Transformer.transformer(new DOMSource,new StreamResult(“src/person.xml”);
}
浙公网安备 33010602011771号