XML解析器常见的有两种:

1.SAX解析器,用于xml的简单API

2.DOM解析器,文档对象模型

DOM就是利用对象来把文本模型化,但是模型实现有以下几个基本的点:

1. 用来表示、操作文档的接口

2.接口行为、属性

3.接口之间的关系和互属性

在DOM接口中有四个基本接口:Document、Node、NodeList、NamedNodeMap

Node对象:DOM中最基本的对象

Document对象:代表整个XML文档

NodeList对象包含一个或者是多个Node的列表

Element对象代表xml文档中的标签元素

创建xml

/创建xml的方法
public static void createxml() throws Exception{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document document= db.newDocument();
//创建一个bookstore节点
Element bookstore=document.createElement("bookstore");
Element book=document.createElement("book");
Element book1=document.createElement("book");
//创建一个name节点并添加在book下
Element name= document.createElement("name");
Element author= document.createElement("author");
Element name1= document.createElement("name");
Element author1= document.createElement("author"); book.appendChild(name);
book.appendChild(author);
book1.appendChild(name1);
book1.appendChild(author1);
//添加文本到name节点
name.setTextContent("张三");
author.setTextContent("李四");
name1.setTextContent("王五");
author1.setTextContent("黄六");
//设置book属性名以及属性值
book.setAttribute("id", "");
book1.setAttribute("id", "");
//向bookstore根节点中添加子节点
bookstore.appendChild(book);
bookstore.appendChild(book1);
//添加跟节点
document.appendChild(bookstore);
//树的结构已经生成,接下来生成xml文件
//前几步都是一定的
TransformerFactory tft= TransformerFactory.newInstance();
Transformer tf= tft.newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
//创建新的xml文件并导入document
tf.transform(new DOMSource(document), new StreamResult(new File("book1.xml")));
}

如何用Dome4j(2.2.1)创建Xml的更多相关文章

  1. 安卓开发学习笔记(二):如何用Android Stuidio在res资源下创建xml视图文件

    笔者在看了相关的教程之后发现教程当中的资源已经过时了.当我们在创建了一个新的空白的工程之后,会发现其文件夹下面的分文件夹目录和官方的教程文件结构完全不同,因此会引起很多误解.笔者使用的是最新版的And ...

  2. .net中xml文件的导入使用(包括创建xml和导入xml)

    上次有说到.net 创建xml文件的方法(一种固定方式,一种动态方法),这次记录一下怎样导入xml文件 1.导入xml文件的方法 1)xml文件格式

  3. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  4. C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)

    最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...

  5. dom4j创建xml

    在前边介绍SAX,PULL等等既然能解析,当然也能生成.不过这里介绍dom4j创建xml文件,简单易懂. dom4j是独立的api,官网:http://www.dom4j.org/    可以去这下载 ...

  6. Java读取、创建xml(通过dom方式)

    创建一个接口 XmlInterface.java public interface XmlInterface {           /**         * 建立XML文档         * @ ...

  7. 创建XML

    //创建XML XElement xelement = new XElement("request", new XElement("head", new XEl ...

  8. Java 创建xml文件和操作xml数据

    java中的代码 import java.io.File; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; ...

  9. TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏

    TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...

随机推荐

  1. 网DAI之家简单爬取

    用requests和bs做个简单的爬取网DAI之家的例子. 只做笔记用. #!/usr/bin/python3 import requestsfrom bs4 import BeautifulSoup ...

  2. Java实现通过IP获取域名,通过域名获取IP

    一.通过Linux命令实现 ping www.baidu.com nslookup www.baidu.com nslookup 14.215.177.166 为什么这个命令会有一个192.168.1 ...

  3. IDEA启动Tomcat服务器时某些端口(如1099端口)被占用的解决办法

    启动Tomcat服务器时,出现1099端口被其它进程占用了解决办法: 1.找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口,使用命令:netstat -aon|fin ...

  4. Oracle数据库-primary key/foreign key和references关系

    主要介绍一下个人对主键(primary key).外键(foreign key).候选键(Candidate key).超键(super key).references的总结 概念: 主键:用户选择元 ...

  5. linux物理内存与虚拟内存

    http://www.360doc.com/content/14/0123/14/14450281_347336709.shtml 1.查看内存占用情况 $ free -m -h total used ...

  6. OpenJudge计算概论-数字求和

    /*========================================================= 数字求和 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个 ...

  7. android: requestLayout(), invalidate(), postInvalidate() 方法区别

    一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调用,postInvalidate在非UI线程中调用.因为androi ...

  8. 目录:JAVA

    收藏: Java:类与继承

  9. osg 3ds模型加载与操作

    QString item1 = QString::fromStdString(groupParam->getChild(k)->getName()); QStandardItem* ite ...

  10. iOS-CGAffineTransform相关函数

    CGAffineTransform相关函数 CGAffineTransformMakeTranslation(width, 0.0);是改变位置的,CGAffineTransformRotate(tr ...