package cn.liuning.test;

 import java.io.File;
import java.io.IOException; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult; import org.junit.Test;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList; public class Demo1
{ @Test//dom生成XML文档
public void createdXmlbyDom() throws ParserConfigurationException, TransformerException
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
//加入根结点
Element rootElement = document.createElement("xml");
//新建子结点
Element toUserName = document.createElement("ToUserName");
//设置属性
toUserName.setAttribute("id", "id_1");
//设置内容
String str = "<![CDATA[gh_1c586f95bd68]]>";
toUserName.setTextContent(str);
Element fromUserName = document.createElement("FromUserName");
fromUserName.setAttribute("id", "id_2");
String str1 = "<![CDATA[ogNtkuMTj4uOx-DCvLfu8mUDmubM]]>";
fromUserName.setTextContent(str1); Element createTime = document.createElement("CreateTime");
createTime.setAttribute("id", "id_2");
String str2 = "1403313142";
createTime.setTextContent(str2); Element createTime1 = document.createElement("CreateTime");
createTime1.setAttribute("id", "id_2");
String str3 = "Test";
createTime1.setTextContent(str3); rootElement.appendChild(toUserName);
rootElement.appendChild(fromUserName);
rootElement.appendChild(createTime);
rootElement.appendChild(createTime1); document.appendChild(rootElement); TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Source xmlSource = new DOMSource(document); Result outputTarget = new StreamResult(new File("src/book1.xml"));
transformer.transform(xmlSource, outputTarget);
System.out.println("成功");
}
@Test//dom解析XML文档
public void read() throws ParserConfigurationException, Exception, IOException
{
//1.新建工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//2.得到dom解析器
DocumentBuilder builder = factory.newDocumentBuilder();
//3.得到代表文档的document上
Document document = builder.parse("src/book1.xml"); System.out.println(document.getInputEncoding());//得到文档编码 //通过标签名获取标签,得到的是一个list集合
//NodeList list = document.getElementsByTagName("CreateTime");
NodeList list = document.getElementsByTagName("xml"); //常用方法
System.out.println(list.getLength());//可以输出list的长度
Node node = list.item(0); //得到第几个结点 //node方法
System.out.println(node.getNodeName());//得到结点名称,输出CreateTime
System.out.println(node.hasAttributes());//是否有属性,输出true
System.out.println(node.hasChildNodes());//是否有孩子,输出true
String content = node.getTextContent();//获取结点内容
System.out.println(content); }
}

DOM生成XML文档与解析XML文档(JUNIT测试)的更多相关文章

  1. Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件,封装函数

    总结了一下使用Python对xml文件的解析,用到的模块儿如下: 分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定信息字段. from xml.dom.minidom im ...

  2. webservice04#对象与xml转换-jaxb#Stax解析xml#新建修改xml

    1,Student类 package com.yangw.xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement / ...

  3. 遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  4. Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)

    1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...

  5. CSS控制XML与通过js解析xml然后通过html显示xml中的数据

    使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...

  6. java解析xml(使用jdom解析xml)

    第一步: 装入jar包:下载地址:http://www.jdom.org/downloads/index.html 第二步: 在项目中加入jar包 jdom-2.06.jar 放入lib中 第三步: ...

  7. XML专题:使用NSXMLParser解析xml文件

    使用NSXMLParser解析xml文件 1. 设置委托对象,开始解析     NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data ...

  8. applicationContext.xml文件放置位置不同而导致的jUnit测试的时候路径的不同

    如果applicationContext.xml文件放置在src下面的的时候使用jUint测试的时候编写的路径应该是这样的: @Test public void testFindByPage() { ...

  9. 转:applicationContext.xml文件放置位置不同而导致的jUnit测试的时候路径的不同

    如果applicationContext.xml文件放置在src下面的的时候使用jUint测试的时候编写的路径应该是这样的: @Test public void saveTest() { Applic ...

随机推荐

  1. Matlab之文件读写

    读文件:  (0)自己添加 你可以将txt的一些文本数据直接拷贝到matlab窗口,然后保存为mat文件,下次就可以直接采用load函数了. (1)Load load 从Matlab的数据文件.mat ...

  2. Windows命令行中使用SSH连接Linux

    转自 http://www.linuxidc.com/Linux/2014-02/96625.htm 1.下载: openssh for Winodws: 免费下载地址在 http://linux.l ...

  3. 解决 Oracle em 无法打开的问题

      重建em emca -deconfig dbcontrol db -repos drop 删除 emca -config dbcontrol db -repos create 创建 set ora ...

  4. VxWorks 6.9 内核编程指导之读书笔记 -- VxWorks Kernel application (二)

    #1 内核对象的静态实例化 内核对象的静态实例化 任务的静态实例化 VX_TASK宏用来在编译时声明一个任务对象.该宏带有2个参数:任务名和栈大小.不像taskSpawn函数,任务名称可以是NULL. ...

  5. OC11_真正的代理

    // // ReceiveReportDelegate.h // OC11_真正的代理 // // Created by zhangxueming on 15/6/24. // Copyright ( ...

  6. php面向对象的特性:OOP的封装

    字段的作用域: 1.public 公共的(类外可以访问) 2.private 私有的(只能类内访问) 3.protected 受保护的(类内和子类可以访问,类外无法访问) /*通过公共的方法来访问私有 ...

  7. 分享9款很有创意的HTML5动画

    1.HTML5 SVG Loading 动画加载特效 这是一款基于HTML5/CSS3和SVG的Loading加载动画特效,一共有4种不同的动画效果.每一组Loading动画都非常可爱,他们都非常欢快 ...

  8. 同一个tomcat多个web应用共享session

    tomcat版本:apache-tomcat-6.0.29(次方tomcat6和tomcat7支持)   1.修改D:\apache-tomcat-6.0.29\conf\server.xml文件   ...

  9. C++ Stacks(堆栈)

    C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. 操作 比较和分配堆栈 empty() 堆栈为空则返回真 pop() ...

  10. 理解ClassLoader基本原理

    当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:        bootstrap classloader                 |        exte ...