java中curd是什么_java在xml中CURD

java在xml中CURD

public class Dome3 {

/**

这是书名1书名>

这是作者1作者>

书>

这是书名2书名>

这是作者3作者>

22.0元售价>

书>

书架>

*/

在指定元素末尾添加节点

public void add() throws Exception{

/*调用这些工厂类,可以得到xml文档的DOM或SAX的解析器,从而实现对xml文档的解析*/

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

/*指定解析文件*/

Document document = builder.parse("src/com/rsl/date2_3/book.xml");

/*创建节点*/

Element price = document.createElement("售价");

price.setTextContent("12333.00元");

/*把创建的节点,挂到第一本书上,返回的是NodeList 集合*/

Element book = (Element)document.getElementsByTagName("书").item(0);

book.appendChild(price);

/*重点!!! 把更新后的内存写回到xml文档 javax.xml.transform.TransformerFactory*/

TransformerFactory tffactory = TransformerFactory.newInstance();

/*创建执行从 Source 到 Result 的复制的新 Transformer*/

Transformer tf = tffactory.newTransformer();

/*将 XML Source 转换为 Result

* public abstract void transform(Source xmlSource, Result outputTarget)

* */

tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream("src/com/rsl/date2_3/book.xml")));

}

在指定节点处插入节点

@Test

/*在指定节点处插入节点*/

public void add2() throws Exception{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse("src/com/rsl/date2_3/book.xml");

Element price = document.createElement("售价");

price.setTextContent("88888.00元");

/*得到参考节点*/

Element refNode = (Element) document.getElementsByTagName("售价").item(0);

/*得到挂载节点*/

Element book = (Element) document.getElementsByTagName("书").item(0);

/*往book节点指定位置 插入 节点*/

book.insertBefore(price, refNode);

TransformerFactory tffactory = TransformerFactory.newInstance();

Transformer tf = tffactory.newTransformer();

tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream("src/com/rsl/date2_3/book.xml")));

}

在xml文档中添加属性书>中添加name="rsl"

@Test

/*在xml文档中添加属性书>中添加name="rsl"*/

public void add3() throws Exception{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse("src/com/rsl/date2_3/book.xml");

/*得到节点*/

Element bookname = (Element)document.getElementsByTagName("书名").item(0);

/*添加属性*/

bookname.setAttribute("name","rsl");

TransformerFactory tffactory = TransformerFactory.newInstance();

Transformer tf = tffactory.newTransformer();

tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream("src/com/rsl/date2_3/book.xml")));

}

在xml文档中删除节点

@Test

/*在xml文档中删除节点*/

public void delete() throws Exception{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse("src/com/rsl/date2_3/book.xml");

/*得到要删除节点*/

Element price = (Element)document.getElementsByTagName("售价").item(0);

/*添加属性*/

//xxx Element book = (Element) document.getElementsByTagName("书").item(0);

//book.removeChild(price);

/*删除*/

price.getParentNode().removeChild(price);

TransformerFactory tffactory = TransformerFactory.newInstance();

Transformer tf = tffactory.newTransformer();

tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream("src/com/rsl/date2_3/book.xml")));

}

在xml文档中更新价格

@Test

/*在xml文档中更新价格*/

public void update() throws Exception{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse("src/com/rsl/date2_3/book.xml");

/*得到要更新节点*/

Element price = (Element)document.getElementsByTagName("售价").item(0);

/*更新*/

price.setTextContent("1000000000");

TransformerFactory tffactory = TransformerFactory.newInstance();

Transformer tf = tffactory.newTransformer();

tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream("src/com/rsl/date2_3/book.xml")));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值