文档章节

JDOM生成XML文档(一)

BK灬
 BK灬
发布于 2016/05/06 17:57
字数 624
阅读 56
收藏 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

© 著作权归作者所有

共有 人打赏支持
BK灬

BK灬

粉丝 46
博文 343
码字总数 142562
作品 0
朝阳
后端工程师
java 中jdom包的简单使用

1、jdom 1.1 是什么? 1.2 用来干什么? 1.3 怎么用? 1.4 使用后感悟和小结! 1.1 Jdom 是一种java工具包,利用纯Java技术对XML文档进行解析,生成,序列化和多种操作。 1.2 Jdom 是用来快速...

thinkerfans
2013/06/21
0
0
四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

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

Henrykin
2016/11/03
48
0
Java程序员从笨鸟到菜鸟之(二十七)XML之Jdom和DOM4J解析 .

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

长平狐
2012/11/12
112
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

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
38分钟前
0
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部