[转]XML验证大全备忘录
来源:互联网 发布:ug8.0编程教程入门图解 编辑:程序博客网 时间:2024/03/28 19:04
Checking Wellformed-ness
Before a document can be called XML and not csv, simple text or any other format, it needs to support the basic rules as defined by the XML Recommendation, when it adheres to these rules it is said to be Wellformed XML.Code Fragments: DOM, SAX, dom4j, XOM
DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);DocumentBuilder builder = factory.newDocumentBuilder();builder.setErrorHandler(new SimpleErrorHandler());Document document = builder.parse(new InputSource("document.xml"));
SAX
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());reader.parse(new InputSource("document.xml"));
dom4j
SAXReader reader = new SAXReader();reader.setValidation(false);reader.setErrorHandler(new SimpleErrorHandler());reader.read("contacts.xml");
XOM
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());Builder builder = new Builder(reader);builder.build("contacts.xml");
Validate using internal DTD
Parse the input document using only the DTD (contacts.dtd
), as defined by the DOCTYPE in the input document, for validation.
Code Fragments: DOM, SAX, dom4j, XOM
DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);DocumentBuilder builder = factory.newDocumentBuilder();builder.setErrorHandler(new SimpleErrorHandler());Document document = builder.parse(new InputSource("document.xml"));
SAX
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());reader.parse(new InputSource("document.xml"));
dom4j
SAXReader reader = new SAXReader();reader.setValidation(true);reader.setErrorHandler(new SimpleErrorHandler());reader.read("contacts.xml");
XOM
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());Builder builder = new Builder(reader);builder.build("contacts.xml");
Validate using internal XSD
Parse the input document using only the XML Schema (contacts.xsd
), as defined by the noNamespaceSchemaLocation attribute in the input document, for validation.
Code Fragments: DOM, SAX, dom4j, XOM
DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");DocumentBuilder builder = factory.newDocumentBuilder();builder.setErrorHandler(new SimpleErrorHandler());Document document = builder.parse(new InputSource("document.xml"));
SAX
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());reader.parse(new InputSource("document.xml"));
dom4j
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);SAXParser parser = factory.newSAXParser();parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");SAXReader reader = new SAXReader(parser.getXMLReader());reader.setValidation(true);reader.setErrorHandler(new SimpleErrorHandler());reader.read("contacts.xml");
XOM
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SAXParser parser = factory.newSAXParser();parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());Builder builder = new Builder(reader);builder.build("contacts.xml");
Validate using external Schema
Parse the input document using the schema (contacts.xsd
), as defined externally by the source-code.
Code Fragments: DOM, SAX, dom4j, XOM
DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));DocumentBuilder builder = factory.newDocumentBuilder();builder.setErrorHandler(new SimpleErrorHandler());Document document = builder.parse(new InputSource("document.xml"));
SAX
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());reader.parse(new InputSource("document.xml"));
dom4j
SAXParserFactory factory = SAXParserFactory.newInstance();SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();SAXReader reader = new SAXReader(parser.getXMLReader());reader.setValidation(false);reader.setErrorHandler(new SimpleErrorHandler());reader.read("contacts.xml");
XOM
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(false);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());Builder builder = new Builder(reader);builder.build("contacts.xml");
Validate using internal DTD and external Schema
Parse the input document using the schema (contacts.xsd
), as defined externally by the source-code and the DTD (contacts.dtd
), as defined by the DOCTYPE in the input document, for validation.
Code Fragments: DOM, SAX, dom4j, XOM
DOM
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));DocumentBuilder builder = factory.newDocumentBuilder();builder.setErrorHandler(new SimpleErrorHandler());Document document = builder.parse(new InputSource("document.xml"));
SAX
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());reader.parse(new InputSource("document.xml"));
dom4j
SAXParserFactory factory = SAXParserFactory.newInstance();SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();SAXReader reader = new SAXReader(parser.getXMLReader());reader.setValidation(true);reader.setErrorHandler(new SimpleErrorHandler());reader.read("contacts.xml");
XOM
SAXParserFactory factory = SAXParserFactory.newInstance();factory.setValidating(true);factory.setNamespaceAware(true);SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");factory.setSchema(schemaFactory.newSchema( new Source[] {new StreamSource("contacts.xsd")}));SAXParser parser = factory.newSAXParser();XMLReader reader = parser.getXMLReader();reader.setErrorHandler(new SimpleErrorHandler());Builder builder = new Builder(reader);builder.build("contacts.xml");
Conclusion
Several mechanisms and XML APIs can be used to parse and validate XML, by using JAXP 1.3 the mechanism can mostly stay the same for these different APIs.
- [转]XML验证大全备忘录
- js验证大全(转)
- XML DOm方法备忘录
- XML DOm属性备忘录
- XML操作备忘录
- js验证表单大全(转)
- javascript验证大全(转)
- Javascript验证表单大全(转)
- LINUX命令大全详解备忘录
- 验证大全
- tomcat-server.xml配置,备忘录
- XML验证
- xml 验证
- XML 验证
- XML 验证
- XML 验证
- xml验证
- XML 验证
- 什么是BSD开源协议
- 性能测试学习流程
- 有理想的程序员必须知道的15件事
- 1433口令提权的详细过程
- 關于測試的几篇小文章
- [转]XML验证大全备忘录
- git format-patch经验(转)
- 自动化测试规范小结
- session+list
- SQL高级注入使用之储存过程
- Android Eclipse关联 android API doc文档
- Android2.3在Ubuntu9.10(32bit)上的编译
- 结构体对齐
- 解决下约瑟夫环问题