java6 xml解析器_Java的xml解析器

packagedemo;import org.w3c.dom.*;importorg.xml.sax.SAXException;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.ParserConfigurationException;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importjava.io.IOException;public classAppDom {public static void main(String[] args) throwsException {

queryList();//insertTag();//updateTag();//deleteTag();

}public static void queryList() throwsParserConfigurationException, IOException, SAXException {//1、创建解析器工厂

DocumentBuilderFactory builderFactory =DocumentBuilderFactory.newInstance();//2、创建解析器

DocumentBuilder builder =builderFactory.newDocumentBuilder();//3、解析xml返回document

Document doc = builder.parse("./src/main/resources/persons.xml");//4、递归遍历

RecursiveNode(doc);

}private static voidRecursiveNode(Node node) {//判断是元素类型才打印

if (node.getNodeType()==Node.ELEMENT_NODE){

System.out.println(node.getNodeName());

}//得到当前节点的子节点集合

NodeList nodeList =node.getChildNodes();//遍历

for (int i= 0;i

RecursiveNode(nodeList.item(i));

}

}public static void insertTag() throwsException{//1、创建解析器工厂

DocumentBuilderFactory builderFactory =DocumentBuilderFactory.newInstance();//2、创建解析器

DocumentBuilder builder =builderFactory.newDocumentBuilder();//3、解析xml,返回document

Document doc = builder.parse("./src/main/resources/persons.xml");//4、得到第一个person标签

Node person = doc.getElementsByTagName("person").item(0);//5、创建sex标签 createElement

Element sex = doc.createElement("sex");//6、创建文本 createTextNode

Text text = doc.createTextNode("男");//7、把文本添加到sex标签下面 appendChild

sex.appendChild(text);//8、把sex标签添加到第一个person下面

person.appendChild(sex);//9、回写

TransformerFactory transformerFactory =TransformerFactory.newInstance();

Transformer transformer=transformerFactory.newTransformer();

transformer.transform(new DOMSource(doc),new StreamResult("./src/main/resources/persons.xml"));

}private static void updateTag() throwsException {//1、创建解析器工厂

DocumentBuilderFactory builderFactory =DocumentBuilderFactory.newInstance();//2、创建解析器

DocumentBuilder builder =builderFactory.newDocumentBuilder();//3、解析xml,返回document

Document doc = builder.parse("./src/main/resources/persons.xml");//4、得到第一个sex标签

Node sex = doc.getElementsByTagName("sex").item(0);//5、修改sex标签 setTextContext()

sex.setTextContent("女");//6、回写

TransformerFactory transformerFactory =TransformerFactory.newInstance();

Transformer transformer=transformerFactory.newTransformer();

transformer.transform(new DOMSource(doc),new StreamResult("./src/main/resources/persons.xml"));

}public static void deleteTag() throwsException {//1、创建解析器工厂

DocumentBuilderFactory builderFactory =DocumentBuilderFactory.newInstance();//2、创建解析器

DocumentBuilder builder =builderFactory.newDocumentBuilder();//3、解析xml,返回document

Document doc = builder.parse("./src/main/resources/persons.xml");//4、得到第一个sex标签

Node sex = doc.getElementsByTagName("sex").item(0);//5、获取sex的父节点

Node person =sex.getParentNode();//6、使用父节点删除 removeChild()

person.removeChild(sex);//7、回写

TransformerFactory transformerFactory =TransformerFactory.newInstance();

Transformer transformer=transformerFactory.newTransformer();

transformer.transform(new DOMSource(doc),new StreamResult("./src/main/resources/persons.xml"));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值