1、创建XML文档:
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public class CreateXML
{
public void Create()
{
try
{
Document doc = new Document();
ProcessingInstruction pi=new ProcessingInstruction("xml-stylesheet","type="text/xsl" href="test.xsl"");
doc.addContent(pi);
Namespace ns = Namespace.getNamespace("http://www.bromon.org" );
Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org" );
Element root = new Element("根元素", ns);
root.addNamespaceDeclaration(ns2);
doc.setRootElement(root);
Element el1 = new Element("元素一");
el1.setAttribute("属性", "属性一");
Text text1=new Text("元素值");
Element em = new Element("元素二").addContent("第二个元素");
el1.addContent(text1);
el1.addContent(em);
Element el2 = new Element("元素三").addContent("第三个元素");
root.addContent(el1);
root.addContent(el2);
//缩进四个空格,自动换行,gb2312编码 ,此构造方法在jdom1.0中不再使用。
XMLOutputter outputter = new XMLOutputter(" ", true,"GB2312");
outputter.output(doc, new FileWriter("test.xml"));
}catch(Exception e)
{
System.out.println(e);
}
}
public static void main(String args[])
{
new CreateXML().Create();
}
}
2、DTD验证的:
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public class XMLWithDTD
{
public void validate()
{
try
{
SAXBuilder builder = new SAXBuilder(true);
builder.setFeature("http://xml.org/sax/features/validation";,true);
Document doc = builder.build(new FileReader("author.xml"));
System.out.println("搞掂");
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc, System.out);
}catch(Exception e)
{
System.out.println(e);
}
}
public static void main(String args[])
{
new XMLWithDTD().validate();
}
}
需要说明的是,这个程序没有指明使用哪个DTD文件。DTD文件的位置是在XML中指定的,而且DTD不支持命名空间,一个XML只能引用一个DTD,所以程序直接读取XML中指定的DTD,程序本身不用指定。不过这样一来,好象就只能使用外部式的DTD引用方式了?高人指点。
3、XML Schema验证的:
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public class XMLWithSchema
{
String xml="test.xml";
String schema="test-schema.xml";
public void validate()
{
try
{
SAXBuilder builder = new SAXBuilder(true);
//指定约束方式为XML schema
builder.setFeature("http://apache.org/xml/features/validation/schema";, true);
//导入schema文件
builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema);
Document doc = builder.build(new FileReader(xml));
System.out.println("搞掂");
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc, System.out);
}catch(Exception e)
{
System.out.println("验证失败:"+e);
}
}
}
上面的程序就指出了要引入的XML Schema文件的位置。
系统默认输出是UTF-8,这有可能导致出现乱码。
分享到:
相关推荐
Java实现Jdom生成解析xml,一般可以用到存储数据。比如我以前做过的ERP系统,权限初始化就用的解析XML,但是现在上传的只是生成XML。如果哪位需要解析XML,留个言。。。。
这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...
利用Jdom生成XML与解析XML的示例
NULL 博文链接:https://newtime.iteye.com/blog/437109
通过jdom生成xml,实例过程:其实就是通过java bean 映射为xml的各个节点,明白了这个思想基本就可以用了。
java生成xml 支持中文 附带jdom包 ,可以联系qq412546724 欢迎交流
NULL 博文链接:https://zhaohong.iteye.com/blog/426761
jdom解析xml
jdom解析xml文件小实例jdom解析xml文件小实例jdom解析xml文件小实例
这是我做的简单的一个在jsp中用jdom解析xml的程序。只是显示,添加等简单的功能,来学习学习jdom解析xml的程序。如果你想学习那这一定是个很好的例子
一个关于用jdom解析xml,遍历xml,建立xml的简单例子.
NULL 博文链接:https://xurichusheng.iteye.com/blog/1518547
jdom解析xml文件的源代码、jar包以及示例xml文件
基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...
jdom处理xml例子
jdom解析XML文件and把字符串解析成XML.txt jdom解析XML文件and把字符串解析成XML.txtjdom解析XML文件and把字符串解析成XML.txt
利用JDOM解析xml文件,并根据xml中为类名,生成相应的对象。
JDOM 操作xml 解析读取xml文件 修改 删除 增添xml指定节点信息的XmlBean
利用jdom读取xml 虽然是我自己写的 但是觉得有必要与大家分享一下
Spring+iBatis+JDom递归生成XML树 Spring+iBatis+JDom递归生成XML树