Java XSD验证XML的方法总结
2014-11-04 09:09
344 查看
网上流传着很多XSD验证XML是否正确的方法,XSD是DTD的替代者。
用javax.xml.validation.Validator.validate(Source source)应该是最快捷方法的
【2】
用javax.xml.validation.Validator.validate(Source source)应该是最快捷方法的
import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; import java.io.UnsupportedEncodingException; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; import org.xml.sax.SAXException; /** * 校验xml工具类 */ public class ValidateXML { private ValidateXML() { throw new Error("工具类不允许实例化"); } public static boolean validateXML(String xsdPath, String xmlData) { // 建立schema工厂 SchemaFactory schemaFactory = SchemaFactory .newInstance("http://www.w3.org/2001/XMLSchema"); // 建立验证文档文件对象,利用此文件对象所封装的文件进行schema验证 File schemaFile = new File(xsdPath); // 利用schema工厂,接收验证文档文件对象生成Schema对象 Schema schema = null; try { schema = schemaFactory.newSchema(schemaFile); } catch (SAXException e) { e.printStackTrace(); } // 通过Schema产生针对于此Schema的验证器,利用schenaFile进行验证 Validator validator = schema.newValidator(); // 得到验证的数据源 Source source = new StreamSource(String2InputStream(xmlData)); // 开始验证,成功输出success!!!,失败输出fail // 参数还可以用文件的String转为的inputstreamnew // ByteArrayInputStream(text.getBytes("UTF-8")); try { validator.validate(source); } catch (Exception ex) { ex.printStackTrace(); return false; } return true; } /** * 将字符串转换为流对象 * @param str * 需要装的字符串 * @return 返回流对象 * @since CodingExample Ver(编码范例查看) 1.1 */ private static InputStream String2InputStream(String str) { ByteArrayInputStream stream = null; try { stream = new ByteArrayInputStream(str.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return stream; } }
【2】
相关文章推荐
- 关于JAVA中 XSD 验证 XML 错误信息设置为中文的方法
- xsd文件验证xml的java实现
- 通过xerces来验证xml是否匹配xsd的java示例
- Java获取XML节点总结之读取XML文档节点的方法
- xml XMLSchema(xsd)的学习体会以及XML格式化和验证总结
- java学习脚印:xml中空白文本结点(whitespace TextNode)处理及验证方法
- java学习脚印:xml中空白文本结点(whitespace TextNode)处理及验证方法
- Xsd文件验证xml的java实现
- xsd验证xml的两种方法
- xsd验证XML时,英文错误提示改成中文的方法
- Java普通类获取Spring XML中Bean的方法总结
- Java中对XML 进行Schema 验证的方法
- Java普通类获取Spring XML中Bean的方法总结
- JAVA解析XML的方法总结
- JAVA使用JAXB框架根据schema.xsd文件验证XML合法性
- java中使用xsd验证xml
- Python学习笔记-XML大文件的XSD验证方法
- Java解析XML的方法总结
- Java更新XML的四种常用方法简介
- Java语言编程中更新XML文档的常用方法