需要导入的jar包:jdom-2.0.6.jar

package com.huawei.xml;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

/**
*
* JDOM解析
* @author Administrator
*
*/
public class TestJDOMParser {

public static void parser() throws Exception{
//得到解析器
//DOMBuilder 主要用于构建内存中已有的文档
//SAXBuilder 主要用于 基于文件或是输入流构建文档

SAXBuilder builder = new SAXBuilder();
InputStream in = TestJDOMParser.class.getClassLoader().getResourceAsStream("com/cdsxt/resources/Users.xml");
//得到构建的DOcument
Document doc = builder.build(in);

//先得到根节点 然后再去得到 子元素

Element root = doc.getRootElement();
//得到所有的儿子元素
List<Element> childs = root.getChildren();

for(Element child:childs){
// System.out.println(child.getAttributeValue("id"));
System.out.println(child.getChildText("username"));
}

}

public static void updateXMl(){

}

/**
* 创建一个xml文件
*/
public static void createXML() throws Exception{

//都建文档
Document doc = new Document();

Element root = new Element("Users");

Element user = new Element("User");
user.setAttribute("id", "zhanoliu").setAttribute("name", "test-user");

Element username = new Element("username");
username.addContent("fengjie");

Element email = new Element("email");
email.setText("fenjie@126.com");

//建立关系
user.setContent(username);
user.setContent(email);

root.addContent(user);

doc.setRootElement(root);

//将构建好的Document写出去

//创建将文件输出器
XMLOutputter outputter = new XMLOutputter();

//默认的是没有格式的 所以要获取一个格式化器 去格式话代码

Format format = Format.getPrettyFormat();
format.setIndent(" ");
outputter.setFormat(format);

//构建文件输出流
OutputStream out = new FileOutputStream(new File("F:/tttt.xml"));
//输出文件
outputter.output(doc, out);

out.flush();
out.close();

}

public static void main(String[] args) throws Exception {
//parser();
createXML();
}

}

第三方工具Jdom解析XML的更多相关文章

  1. Javaweb学习笔记——使用Jdom解析xml

    一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...

  2. jdom解析xml

    这次把代码整理了一下,打包发上来了,程序中需要用到的jar包也一起打在里面了,有兴趣的朋友可以解压后直接导入的eclipse里运行! xml是一种广为使用的可扩展标记语言,java中解析xml的方式有 ...

  3. 简单使用JDOM解析XML

    原文:http://liuwentao.iteye.com/blog/59978 使用JDOM解析XML一.前言JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创 ...

  4. Java jdom解析xml文件带冒号的属性

    Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...

  5. 使用JDom解析XML文档模拟Spring的配置文件解析

    在J2EE项目中可能会涉及到一些框架的使用,最近接触到了SSH,拿Spring来说配置文件的使用是相当重要的,Spring的配置文件是一个xml文件,Spring是如何读取到配置文件并进行依赖注入的呢 ...

  6. 使用JDOM解析xml文档

    一.使用JDOOM解析xml文档 准备工作 1.下载JDOM.jar 包 解析代码如下 import org.jdom2.Attribute; import org.jdom2.Document; i ...

  7. Java中Jdom解析XML

    JDOM与DOM类似,也是一组用于解析XML的API,它本身不是一个解析器,默认的它内置了Apache的Xerces解析器:JDOM与DOM不同的是,DOM是跨语言的一套API,Java世界中有很多D ...

  8. Java&Xml教程(六)使用JDOM解析XML文件

    JDOM 提供了非常优秀的Java XML API来更方便的读取.修改.生成XML文档.JDOM还提供了包装类供用户从SAX.DOM.STAX事件解析.STAX流解析中选择具体的实现. 在本教程中,我 ...

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

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

随机推荐

  1. redux中的compose源码分析

    1. redux中compose用来组合各种中间件来实现链式调用,例子如下 compose( applyMiddleware, devTools, persistState, createStore ...

  2. HDU 3746

    http://acm.hdu.edu.cn/showproblem.php?pid=3746 kmp的Nxet数组求字符串循环节例题 lenB%(lenB-Next[lenB])==0则其有周期len ...

  3. ZetCode PyQt4 tutorial signals and slots

    #!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...

  4. python中多进程+协程的使用以及为什么要用它

    前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重.切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL, ...

  5. php 双引号字符串里包变量的用法

    第一种 $ary['a'] 去掉单引号$ary = array('a'=>1);$b = 5; $str = "fdsfdsf$ary[a]";$str = "fd ...

  6. Mybatis 插件实现动态设置参数

    原文地址:Mybatis 插件实现动态设置参数 博客地址:http://www.extlight.com 一.背景 笔者在搭建架构时,通常会利用泛型对 dao 层 和 service 层公共的代码(增 ...

  7. GNU Radio: Multiple USRP configurations 配置多个USRP设备

    Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...

  8. 使用 Lombok 简化项目中无谓的Java代码

    在写使用Java时,难免会有一些模板代码要写,不然get/set,toString, hashCode, close 资源,定义构造函数等等.代码会显得很冗余,很长.Lombok项目可以是我们摆脱这些 ...

  9. 解决Maven出现Plugin execution not covered by lifecycle configuration 错误

    http://blog.163.com/xh_ding/blog/static/1939032892015222368827/ 解决Maven出现Plugin execution not covere ...

  10. mysql为什么会慢

    --2019.4.18 mysql技术大会分享--叶金荣mysql为什么会慢性能瓶颈分析.排查思路 先确认一下真的是mysql响应慢了吗导致mysql慢可能会有那些因素呢?--资源稀缺 ---cpu, ...