XML是可扩展标记措辞,标准通用标记措辞的子集,是一种用于标记电子文件使其具有构造性的标记措辞。
在电子打算机中,标记指打算机所能理解的信息符号,通过此种标记,打算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种许可用户对自己的标记措辞进行定义的源措辞。 它非常适宜万维网传输,供应统一的方法来描述和交流独立于运用程序或供应商的构造化数据。是Internet环境中跨平台的、依赖于内容的技能,也是当今处理分布式构造信息的有效工具。早在1998年,W3C就发布了XML1.0规范,利用它来简化Internet的文档信息传输。
众所周知,现在天生解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J
本日利用JDOM的办法
JDOM(Java-based Document Object Model)
JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比利用DOM实现更快。由于是第一个Java特定模型,JDOM一贯得到大力推广和促进。正在考虑通过“Java规范要求JSR-102”将它终极用作“Java标准扩展”。从2000年初就已经开始了JDOM开拓。
JDOM与DOM紧张有两方面不同。首先,JDOM仅利用详细类而不该用接口。这在某些方面简化了API,但是也限定了灵巧性。第二,API大量利用了Collections类,简化了那些已经熟习这些类的Java开拓者的利用。
JDOM文档声明其目的是“利用20%(或更少)的精力办理80%(或更多)Java/XML问题”(根据学习曲线假定为20%)。JDOM对付大多数Java/XML运用程序来说当然是有用的,并且大多数开拓者创造API比DOM随意马虎理解得多。JDOM还包括对程序行为的相称广泛检讨以防止用户做任何在XML中无意义的事。然而,它仍须要您充分理解XML以便做一些超出基本的事情(或者乃至理解某些情形下的缺点)。这大概是比学习DOM或JDOM接口都更故意义的事情。
JDOM自身不包含解析器。它常日利用SAX2解析器来解析和验证输入XML文档(只管它还可以将以前布局的DOM表示作为输入)。它包含一些转换器以将JDOM表示输出成SAX2事宜流、DOM模型或XML文本文档。JDOM是在Apache容许证变体下发布的开放源码。
【优点】
①利用详细类而不是接口,简化了DOM的API。
②大量利用了Java凑集类,方便了Java开拓职员。
【缺陷】
①没有较好的灵巧性。
②性能较差。
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.Text;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/
利用jdom创建XML文件
@author Administrator 2017年4月24日 16:25:24
/
public class CreateXMLOutput {
public void BuildXMLDoc() throws IOException, JDOMException {
String realPath = \公众D:\\程序测试下载\公众;
Document doc = new Document();
Namespace ns = Namespace.getNamespace(\"大众http://www.bromon.org\公众);
Namespace ns2 = Namespace.getNamespace(\公众other\"大众, \公众http://www.w3c.org\"大众);
Element root = new Element(\公众regInners\"大众);
// root.addNamespaceDeclaration(ns2);
doc.setRootElement(root);
Element el1 = new Element(\公众regInner\"大众);
// el1.setAttribute(\"大众属性\"大众, \"大众属性一\"大众);
Text text1 = new Text(\"大众元素值\公众);
Element em = new Element(\"大众元素名1\"大众).addContent(\"大众元素值1\"大众);
el1.addContent(em);
Element em3 = new Element(\"大众元素名3\公众).addContent(\"大众元素值3\"大众);
el1.addContent(em3);
Element em4 = new Element(\公众元素名4\"大众).addContent(\公众元素值4\"大众);
el1.addContent(em4);
Element el11 = new Element(\公众子元素\"大众);
el1.addContent(el11);
Element el12 = new Element(\"大众子元素1\"大众).addContent(\"大众1\"大众);
;
Element el13 = new Element(\公众子元素2\公众).addContent(\"大众2\"大众);
;
Element el14 = new Element(\"大众子元素3\"大众).addContent(\"大众3\"大众);
;
el11.addContent(el12);
el11.addContent(el13);
el11.addContent(el14);
root.addContent(el1);
Format format = Format.getPrettyFormat();
format.setEncoding(\"大众GB2312\公众);
XMLOutputter outputter = new XMLOutputter(format);
FileOutputStream out = new FileOutputStream(realPath
+ \"大众\\createXML.xml\公众);
outputter.output(doc, out);
out.close();
}
/
@param args
/
public static void main(String[] args) {
try {
CreateXMLOutput j2x = new CreateXMLOutput();
System.out.println(\"大众天生 xml 文件成功,请查看项目根目录XMLOutput.xml文件!
\"大众);
j2x.BuildXMLDoc();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是上面源码天生的XML样式
感谢大家关注
“点读微讯”