本篇文章给大家谈谈java如何读取xsd文件,以及java解析xsd文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java怎么样用xsd做验证2、如何通过 java文件生成其 xsd文件呢?3、Java如何把任意xsd转成xml4、Java在处理xsd文件的时候如何得到complexType的element和restriction?
java怎么样用xsd做验证
/**
* 使用XML Schema xml 文件,检验 XML 内容
* @param xmlStr 如果是对XML文件进行验证,用FileInputStream即可
* @return true:成功返回
* @throws SAXException
* @throws IOException
*/
public static boolean validate(String schemaLocaltion, String xmlStr)throws SAXException, IOException {
//获取Schema工厂类,
//这里的XMLConstants.W3C_XML_SCHEMA_NS_URI的值就是:
//
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// Schema实例
Schema schema = null;
//获取xsd文件,以流的方式读取到Source中xsd文件的位置相对于类文件位置
Source schemaSource = new StreamSource(SchemaValidate.class.getResourceAsStream(schemaLocaltion));
//实例化Schema对象
schema = factory.newSchema(schemaSource);
//这里是将一个DOM树对象转换成流对象,以便对DOM树对象验证
ByteArrayInputStream bais = new ByteArrayInputStream(xmlStr.getBytes(“UTF-8”));
// 获取验证器,验证器的XML Schema源就是之前创建的Schema
Validator validator = schema.newValidator();
Source source = new StreamSource(bais);
// 执行验证
validator.validate(source);
return true;
}
如何通过 java文件生成其 xsd文件呢?
xsd是来规定XML的,xsd 是Schema的一种。
xsd是用来验证数据是否正确,比如你的XML数据要写进数据库,如果不验证,可能就会有很多问题。
当你的XML通过XSD验证后,就可以用XSL进行格式化。生成HTML,矢量图形等。。。
打开xsd的软件:
JPad Pro
软件版本: 5.5.856
发行公司:
文件信息: 8.7 MB,2005年09月30日
界面语言: 英文 本类编辑推荐
操作系统: Win 98,Win NT,Win 2k,Win Me,Win XP,Win 2003
软件许可: 共享软件,注册费用 $59.00,免费试用 30 天
JPad Pro 5.5.856 这 IDE 支持 Sun 的 Java 工具,ANT,项目,可视调试程序,折叠的代码,聪明的钥匙,聪明的契约,代码完成,变色的句法,书签,时间测试装置,线标数,带正规表达式搜寻的发现者工具栏和取代,文件设置工具栏,源代码浏览器,带许多流行的来源控制系统的集成,和编写你的自己的 JavaScript 工具的能力。随同被其写进的超过 700 个脚本 JavaScript 而来。
注意:语言支持包括 Java, JSP, HTML, PHP, Perl, C/C++, SQL,Lisp,Cobol,ASP,CGI, CSS, DTD, JavaScript, VBScript,Python,Velocity,Properties, XHTML, XML, XSD, XSL,和 IDL。额外的带变色的句法和其他特色的文件类型能够被加。
运行需求:IE 5.0 或更高
Java如何把任意xsd转成xml
xsd就是xml schema,可以利用以下方法生成xml:
Schema文件定义如下:o:p/o:p
!—-o:p/o:p
xs:schema xmlns=””xmlns:xs=””targetNamespace=”” elementFormDefault=”qualified”attributeFormDefault=”unqualified”o:p/o:p
xs:element name=”e1″o:p/o:p
xs:complexTypeo:p/o:p
xs:sequenceo:p/o:p
xs:element name=”e11″ type=”xs:int”/o:p/o:p
xs:element name=”e12″o:p/o:p
xs:complexTypeo:p/o:p
xs:attribute name=”e121″ type=”xs:string” use=”required”/o:p/o:p
xs:attribute name=”e122″ type=”xs:long”/o:p/o:p
xs:complexTypeo:p/o:p
xs:elemento:p/o:p
xs:sequenceo:p/o:p
xs:complexTypeo:p/o:p
xs:elemento:p/o:p
xs:schemao:p/o:p
o:p /o:p
解析代码如下:
import org.apache.xmlbeans.*;
import com.mydomain.myApp.E1Document;
public class OutputXml {
/**
* 其中e11=11 e121=”e121”
* @param args
*/
public static void main(String args[]) {
E1Document e1Document;
E1Document.E1 E1Element;
E1Document.E1.E12 E1e2Element;
XmlOptions xmlOptions;
e1Document = E1Document.Factory.newInstance();
E1Element = e1Document.addNewE1();
E1e2Element=E1Element.addNewE12();
E1Element.setE11(11);
E1e2Element.setE121(“e121”);
/**
* 如果需要设置setE122的值请打开,由于xsd文件定义的元素不是必须的.
*/
//E1e2Element.setE122();
xmlOptions = new XmlOptions();
xmlOptions.setSavePrettyPrint();
xmlOptions.setSavePrettyPrintIndent(4);
String xmlStr = e1Document.xmlText(xmlOptions);
System.out.println(“XML Instance Document is : \n” + xmlStr );
}
}
Java在处理xsd文件的时候如何得到complexType的element和restriction?
xsd文件本身就是使用xml语言书写的,也就是说你完全可以把它当做xml文件来处理。
使用你所熟悉的方式,比如dom4j、jdom。
关于java如何读取xsd文件和java解析xsd文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。