文档章节

JDOM生成XML文档(一)

BK灬
 BK灬
发布于 2016/05/06 17:57
字数 624
阅读 63
收藏 1
package com.ninemax.common.utils;

import java.io.FileOutputStream;

import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
 * JAVA生成XML
 * 
 * @author Darker
 *
 */
public class JavaTransXml {

	public static void JavaTransXml2() throws Exception {
		//生成XML文档对象
		Document doc= new Document();
		//生成XM文档根节点
		Element root= new Element("ArticleSet");
		//文档头声明
		doc.addContent(new DocType("ArticleSet","WPRIM_2.dtd"));
		//根节点添加到文档中
		doc.addContent(root);
		//生成10个子节点
		for(int i=0;i<10;i++){
			Element article= new Element("Article");
			Element journal= new Element("Journal");
			journal.addContent(new Element("Country").setText("China"));
			journal.addContent(new Element("PublisherName").setText("IMICAMS"));
			journal.addContent(new Element("JournalTitle").setText("first testing JournalTitle"));
			journal.addContent(new Element("Issn").setText("0000-0001"));
			journal.addContent(new Element("Volume").setText("2"));
			journal.addContent(new Element("Issue").setText("2"));
			Element pubDate=new Element("PubDate");
			pubDate.addContent(new Element("Year").setText("2009"));
			pubDate.addContent(new Element("Month").setText("05"));
			pubDate.addContent(new Element("Day").setText("18"));
			journal.addContent(pubDate);
			article.addContent(journal);
			article.addContent(new Element("ArticleTitle").setText("first testing ArticleTitle"));
			article.addContent(new Element("VernacularTitle").setText("first testing VernacularTitle"));
			article.addContent(new Element("FirstPage").setText("1"));
			article.addContent(new Element("LastPage").setText("10"));
			article.addContent(new Element("Language").setText("Chinese"));
			Element authorList=new Element("AuthorList");
			for(int j=0;j<2;j++){
				
				Element author=new Element("Author");
				author.addContent(new Element("FirstName").setText("FirstName1"));
				author.addContent(new Element("MiddleName1").setText("MiddleName1"));
				author.addContent(new Element("LastName").setText("LastName1"));
				author.addContent(new Element("Affiliation").setText("Affiliation1"));
				authorList.addContent(author);
			}
			Element author=new Element("Author");
			author.addContent(new Element("CollectiveName").setText("Plastic Surgery Educational Foundation DATA Committee"));
			authorList.addContent(author);
			article.addContent(new Element("PublicationType").setText("Journal Article"));
			Element articleIdList=new Element("ArticleIdList");
			articleIdList.addContent(new Element("ArticleId").setText("10.1055/s-2007-985171").setAttribute("IdType","doi"));
			articleIdList.addContent(new Element("ArticleId").setText("http://www.imicams.ac.cn").setAttribute("IdType","url"));
			article.addContent(articleIdList);
			article.addContent(new Element("Abstract").setText("...."));
			Element keywordsList=new Element("KeywordsList");
			
			for(int k=0;k<2;k++){
				
				keywordsList.addContent(new Element("Keywords").setText("Keywords1"));
				
			}
			article.addContent(keywordsList);
			
			Element meSHList=new Element("MeSHList");
			
			for(int h=0;h<2;h++){
				
				meSHList.addContent(new Element("MeSH").setText("MeSH1"));
				
			}
			article.addContent(meSHList);
			//给父节点ArticleSet添加子节点Article
			root.addContent(article);
		}
		XMLOutputter XMLOut = new XMLOutputter(Format.getPrettyFormat());  
        // 输出 XMLOutput.xml 文件到项目根目录;     
        XMLOut.output(doc, new FileOutputStream("E://XMLOutput.xml")); 
        // 参考网站:http://budani.iteye.com/blog/1630493
	}
	
	public static Format FormatXML(){  
        //格式化生成的xml文件,如果不进行格式化的话,生成的xml文件将会是很长的一行...
		//默认编码为:getRawFormat()
        Format format = Format.getPrettyFormat();
        format.setEncoding("utf-8");  
        format.setIndent(""); 
        return format;  
    }

	public static void main(String[] args) throws Exception {
		
		JavaTransXml.JavaTransXml2();
		
		System.out.println("生成 mxl 文件成功,请查看项目根目录XMLOutput.xml文件!");
	}


}

生成XML文档内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ArticleSet SYSTEM "WPRIM_2.dtd">

<ArticleSet>
  <Article>
    <Journal>
      <Country>China</Country>
      <PublisherName>IMICAMS</PublisherName>
      <JournalTitle>first testing JournalTitle</JournalTitle>
      <Issn>0000-0001</Issn>
      <Volume>2</Volume>
      <Issue>2</Issue>
      <PubDate>
        <Year>2009</Year>
        <Month>05</Month>
        <Day>18</Day>
      </PubDate>
    </Journal>
    <ArticleTitle>first testing ArticleTitle</ArticleTitle>
    <VernacularTitle>first testing VernacularTitle</VernacularTitle>
    <FirstPage>1</FirstPage>
    <LastPage>10</LastPage>
    <Language>Chinese</Language>
    <PublicationType>Journal Article</PublicationType>
    <ArticleIdList>
      <ArticleId IdType="doi">10.1055/s-2007-985171</ArticleId>
      <ArticleId IdType="url">http://www.imicams.ac.cn</ArticleId>
    </ArticleIdList>
    <Abstract>....</Abstract>
    <KeywordsList>
      <Keywords>Keywords1</Keywords>
      <Keywords>Keywords1</Keywords>
    </KeywordsList>
    <MeSHList>
      <MeSH>MeSH1</MeSH>
      <MeSH>MeSH1</MeSH>
    </MeSHList>
  </Article>
 </ArticleSet>

XML文档太长,截了其中一部分..

参考文献:http://blog.csdn.net/ivory_lei/article/details/6892537

企鹅:61489385

© 著作权归作者所有

共有 人打赏支持
下一篇: 2016-05-06
BK灬

BK灬

粉丝 46
博文 343
码字总数 142562
作品 0
朝阳
后端工程师
私信 提问
Java程序员从笨鸟到菜鸟之(二十七)XML之Jdom和DOM4J解析 .

jdom解析 JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实...

长平狐
2012/11/12
171
0
四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SA...

Henrykin
2016/11/03
48
0
Java解析XML的四种方法

XML文件解析方法 XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假...

wersdffg
2015/07/23
4.2K
0
XML生成和解析

1、DOM方式解析XML 给予DOM的解析方式,是把整个XML文档加载到内存,转化成DOM树,可以随机的访问DOM树的任何数据,速度快、比较灵活,但是消耗资源比较多,不适用大的xml文档解析,测试超过...

祁猛
2016/10/19
24
0
使用JDOM解析XML

一、前言 JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初,JDOM作为一个开放源代码项目正式开始研发。JDOM是一种解析XML的Java工具包。 DOM适合于当今流行的各种语言...

关河
2016/02/04
19
0

没有更多内容

加载失败,请刷新页面

加载更多

python实现下载网络图片

项目需求: 有时候我们做爬虫的时候,需要把爬取到的图片资源保存到我们本地,以防爬取的图片链接被原来资源主人变更,所以就需要把好不容易拿到的资源永久变为自己的,就需要把图片链接下载到我们...

银装素裹
38分钟前
2
0
米利型和摩尔型状态机

1. 经典状态机 x(t)为当前输入 z(t)为当前输出 组合逻辑电路输出s(t+1)为次态 状态寄存器(也就是一组触发器)输出s(t)为现态 2. 米利状态机(Mealy) 组合逻辑C1模块有两个输入端:当前输入x(t...

易冥天
40分钟前
4
0
Kafka是如何解决常见的微服务通信问题的

微服务自成立以来就以不同的方式相互沟通。有些人更喜欢使用HTTP REST API,但这些API有自己的排队问题,而有些则更喜欢较旧的消息队列,比如RabbitMQ,它们带有扩展和操作方面的问题。 以K...

java菜分享
44分钟前
2
0
关于php的xdebug配置(编辑器vscode)

虽然说echo和print_r是公认的最实用的调试工具,但是效率真的没有可视化的直接断点那么高。这里简单介绍如果安装及配置xdebug for vscode 一、PHP环境处的配置 1、编译安装 下载及编译php,因...

元谷
58分钟前
8
0
heartbeat

http://www.linux-ha.org/doc/users-guide/_building_and_installing_heartbeat_from_source.html kaer@linux-sqlf:~/Reusable-Cluster-Components-glue--0a7add1d9996> ./configure --enabl......

李有常
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部