最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java实现XML增加元素操作简单示例
时间:2017-03-16 编辑:简简单单 来源:一聚教程网
代码如下 | 复制代码 |
packageDay01; importjava.io.*; importjavax.xml.parsers.*; importjavax.xml.transform.*; importjavax.xml.transform.dom.DOMSource; importjavax.xml.transform.stream.StreamResult; importorg.w3c.dom.*; publicclassCRUDDEMO { /*public void addElement() throws Exception{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(new File ("src/Day01/Book.xml")); Element newEle = doc.createElement("作者"); newEle.setTextContent("ZC"); Node nod = doc.getElementsByTagName("书").item(0); nod.appendChild(newEle); Source sour = new DOMSource(doc); Result result = new StreamResult (new FileOutputStream("src/Day01/Book.xml")); write (sour, result); }*/ public void addElement2() throws Exception{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //建立工厂 DocumentBuilder builder = factory.newDocumentBuilder(); //拿到builder Document doc = builder.parse(new File ("src/Day01/Book.xml")); //获得document,这是终极目的 Element newEle = doc.createElement("作者");// 创建新元素/标签 newEle.setTextContent("ZC"); //给元素设置内容 <作者>ZC作者> Node nod = doc.getElementsByTagName("书名").item(0); //通过nodelist的item()方法获得具体节点 /** * 在具体节点插入元素用 节点.insertBefore方法 * 第一个参数是要插入的新节点,第二个是插入的位置 */ nod.insertBefore(newEle, doc.getElementsByTagName("书名").item(0)); /** * DOMSource(Node n) * 注意 element是Node的一个子类,所以可以把doc放入构造函数 * * */ Source sour =newDOMSource(doc); Result result =newStreamResult (newFileOutputStream("src/Day01/Book.xml")); write (sour, result); } publicvoidwrite(Source source,Result result) { TransformerFactory tffactory = TransformerFactory.newInstance(); Transformer tr; try{ tr = tffactory.newTransformer(); tr.transform(source, result); }catch(TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } publicstaticvoidmain(String[] args)throwsException { CRUDDEMO cr =newCRUDDEMO(); cr.addElement2(); } } |
修改前的XML:
代码如下 | 复制代码 |
<书架> <书> <书名>Thinking in Java书名> <作者>Eric作者> <售价>$34售价> 书> 书架> |
修改后的XML
代码如下 | 复制代码 |
<书架> <书> <作者>ZC作者> <书名>Thinking in Java书名> <作者>Eric作者> <售价>$34售价> 书> 书架> |
-
上一个: 对称加密与非对称加密优缺点详解
相关文章
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24
- 工厂方法在Spring框架中的运用介绍 10-24