XJC(2)Validate the XML with XSD
1. The Validation Related codes
// 1. Lookup a factory for the W3C XML Schema language
SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
// 2. Compile the schema.
File schemaLocation = new File("src/generated/expense.xsd");
Schema schema = schemaFactory.newSchema(schemaLocation);
// 3. Get a validator from the schema.
Validator validator = schema.newValidator();
// 4. Parse the document you want to check.
Source source = new StreamSource(new StringReader(xml));
// 5. Check the document
try {
validator.validate(source);
System.out.println("XML is valid.");
} catch (SAXException e) {
System.out.println("XML is not valid because ");
System.out.println(e.getMessage());
}
2. Error Handler
try {
ErrorHandler errorHandler = new PrintErrorHandler();
validator.setErrorHandler(errorHandler);
validator.validate(source);
System.out.println("XML is valid.");
} catch (SAXException e) {
System.out.println("XML is not valid.");
//System.out.println(e.getMessage());
return ;
}
A handler class will handle the error action, PrintErrorHandler.java.
package generated;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXParseException;
public class PrintErrorHandler implements ErrorHandler {
public void warning(SAXParseException ex) {
System.err.println("warning");
}
public void error(SAXParseException ex) {
System.err.println("error");
}
public void fatalError(SAXParseException ex){
System.err.println("fatal");
}
}
references:
http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi/index.html
分享到:
相关推荐
2. **创建XSD草稿**:基于XML文件的结构,开始构建XSD文件的草稿。定义元素、属性、命名空间等,以及它们的数据类型和约束。XSD文件使用 `<element>`、`<complexType>`、`<attribute>` 等标签来定义这些元素。 3. *...
**使用JAXB根据XSD生成XML文档** 在Java开发中,XML文档的生成与解析是一项常见的任务,特别是在处理数据交换和存储时。JAXB(Java Architecture for XML Binding)是Java平台标准的一部分,它提供了一种将Java对象...
将trang.jar和要解析的xml放在同一目录,在当前文件下执行如下命令,其中users.xsd为要生成的xsd文件名 java -jar trang.jar users.xml users.xsd 执行完上述命令后会在当前文件生成users.xsd,然后执行如下命令,...
在Java开发中,JAXB提供了一种方便的方式,允许开发者通过XML Schema (XSD) 文件来生成对应的Java类,从而简化XML处理的工作流程。 1. **XML Schema (XSD) 文件**: - XML Schema是一种W3C标准,用于定义XML文档的...
XJC是JAXB的一部分,它是一个命令行工具,用于从XML Schema (XSD) 文件生成对应的Java实体类。这些实体类可以帮助开发者直接操作XML数据,而无需关心底层解析和序列化的细节。 在Java开发中,当处理XML数据时,通常...
2. XSD到JavaBean的生成:生成JavaBean是将XSD文件中的元素和属性映射为Java类的过程,这有助于在Java应用程序中操作XML数据。通常,开发者会使用命令行脚本或者库来完成这个任务。例如,`createPro_Xsd.bat`和`...
xsd.exe xml schema文件生成程序,将xml文件转换成xsd文件,然后可以通过xjc生成java类
同时,`xjc`也可以反向操作,将XML文档转换为XSD,但这通常需要人工干预和调整,因为XML文档可能有多种结构,无法直接生成唯一的XSD。 最后,“数据库表转化为对象”。JAXB并不直接支持数据库操作,但它可以与ORM...
xsd.exe 可用于根据 XML 文件生成 Java 类。 下载xsd.exe文件,命令行进入文件所在目录执行以下命令即可生成Java类文件(如下表示xml文件与xsd.exe在同一目录) ... 2)xjc -d . -p packageName ./fileName.xsd
2. **XJC(XSD to Java Compiler)**:这是JAXB的一部分,是一个命令行工具,用于从XSD文件生成Java源代码。使用`xjc`命令,可以指定XSD文件,并配置生成的Java类的命名空间、包名等选项。 3. **Java Class ...
根据xsd批量生成java类,觉得很方便也很酷。但是有时候xsd生成的java类中含有汉字,结果总是有些问题。 可是xjc命令参数又没有encoding参数之类的。在网上搜了一通,忽然发现了一个好东东:xjc是由...
标题“用jaxb自动生成xsd对像”指的是利用JAXB的XJC(XSD到Java绑定编译器)工具,从XML Schema文件生成对应的Java类。这使得你可以直接操作Java对象,而无需直接处理XML的细节。 描述中的“简单易用”意味着通过...
这些工具可能包括`xmllint`、`xsdc`(XML Schema Compiler)、`xjc`(Java Architecture for XML Binding的命令行工具)等,它们可以帮助开发者生成基于XSD的类、验证XML实例文档或进行其他相关操作。 标签“源码”...
2. **jaxb-xjc.jar**:XJC(XML Java Compiler)是JAXB的代码生成工具,可以将XML Schema(XSD)转换为对应的Java类。当你有XML Schema定义时,使用xjc工具可以自动生成符合该Schema的Java类,使得处理XML数据更为...
XJC javadoc插件,基于xsd:documentation元素添加javadocs。 插件已合并到Apache CXF XJC Utils中。 此版本将不再维护。 可以在Maven存储库中找到新的插件jar,格式为org.apache.cxf.xjcplugins:cxf-xjc-javadoc...
然后,利用JAXB的`xjc`命令行工具,结合XSD文件和绑定文件生成Java源码。反之,如果你有一个Java对象模型,你可以使用JAXB的`Marshaller`和`Unmarshaller`接口将Java对象序列化为XML或者从XML反序列化回Java对象。 ...
2. 生成Java类:使用JAXB工具(如`xjc`命令行工具或Maven插件)对XSD文件进行编译,自动生成对应的Java类。这些类包含了XML元素和属性的映射。 3. 解析XML:有了Java类,我们就可以使用JAXB提供的`Unmarshaller`...
首先,将XSD转换为Java类,可以使用工具如XJC(Java Architecture for XML Binding的命令行工具)。之后,使用`javax.xml.validation`包中的`SchemaFactory`和`Validator`类来加载XSD和验证XML文档: ```java ...
2. **XJC (XSD to Java Compiler)**:XJC是JAXB的重要组成部分,它读取XML Schema文档并生成相应的Java类,使得在Java程序中操作XML数据变得更加简单。这些生成的类遵循JavaBeans模式,提供了方便的getter和setter...
5. **jaxb-xjc.jar**:XJC是JAXB的命令行工具,用于从XML Schema(XSD)生成对应的Java类。XSD定义了XML文档的结构,XJC可以将这些结构转化为Java对象模型,方便开发人员进行操作。 6. **jsr173_1.0_api.jar**:这...