Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1942164
  • 博文数量: 219
  • 博客积分: 8963
  • 博客等级: 中将
  • 技术积分: 2125
  • 用 户 组: 普通用户
  • 注册时间: 2005-10-19 12:48
个人简介

文章分类

全部博文(219)

文章存档

2021年(1)

2020年(3)

2015年(4)

2014年(5)

2012年(7)

2011年(37)

2010年(40)

2009年(22)

2008年(17)

2007年(48)

2006年(31)

2005年(4)

分类: Java

2011-06-24 14:45:24

JAXB出来很长时间了,英文是Java Architecture for XML Binding, JAVA XML 绑定体系结构。
主要是做XML与JAVA对象间的转换。不需要编码,只需要定义好XSD文件,就可以XSD生成JAVA对象文件。让我们从重体力劳动中解脱出来。
关于这个框架的用法以后再说,先来介绍如何概据XSD文件检测XML是否合法。
 
  1. package com.chouy.jaxb.main;

  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import javax.xml.XMLConstants;
  5. import javax.xml.transform.Source;
  6. import javax.xml.transform.sax.SAXSource;
  7. import javax.xml.validation.Schema;
  8. import javax.xml.validation.SchemaFactory;
  9. import javax.xml.validation.Validator;
  10. import org.xml.sax.InputSource;

  11. public class XmlValidateByXSD
  12. {
  13.     public static void main(String[] args)
  14.     {
  15.         try
  16.         {
  17.             // JAXBContext jc = JAXBContext.newInstance(REQUEST.class);

  18.             // Unmarshaller unmarshaller = jc.createUnmarshaller();

  19.             String schemaLanguage = XMLConstants.W3C_XML_SCHEMA_NS_URI;
  20.             SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage);
  21.             Schema schema = schemaFactory.newSchema(new File("E:/zy_share/dev_project/jaxb_training/src/request.xsd"));
  22.             // unmarshaller.setSchema(schema);

  23.             Validator validator = schema.newValidator();
  24.             InputSource inputSource = new InputSource(new FileInputStream(new File("E:/zy_share/dev_project/jaxb_training/request.xml")));
  25.             Source source = new SAXSource(inputSource);
  26.             validator.validate(source);
  27.             System.out.println("success");
  28.         }
  29.         catch (Exception e)
  30.         {
  31.             e.printStackTrace();
  32.         }
  33.     }
  34. }
顺便说一个XSD文件,它主要是为了解决DTD文件无法精解描述XML和无法完全验证XML合法性的缺点而制定的。它的好处是用XML文件格式,描述XML文件的格式。呵呵,说着怎么那么绕哇。
关于JAXB的用法这里就不说了,网上可以搜到很多。
阅读(7120) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~