import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
public class TestSchema {
/**
* 使用xsd验证xml
*
* @param xmlfilename
* String xml文件 包括路径
* @param xsdfilename
* String xsd文件 包括路径
* @param validatesuccess
* boolean 是否验证成功 成功返回true,
* @return boolean 成功返回true 失败返回false
*/
public boolean validatexmlbyxsd(String xmlfilename, String xsdfilename,
boolean validatesuccess) {
File xmlfile = new File(xmlfilename);
File xsdfile = new File(xsdfilename);
// 检测原文件和验证文件是否存在
if (!((xmlfile.exists()) && (xsdfile.exists())))
return false;
final String SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
final String XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
final String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(true);
try {
SAXParser parser = factory.newSAXParser();
parser.setProperty(SCHEMA_LANGUAGE, XML_SCHEMA);
parser.setProperty(SCHEMA_SOURCE, xsdfile);
XMLReader xmlReader = parser.getXMLReader();
xmlReader.setContentHandler(new DefaultHandler());
xmlReader.setErrorHandler(new MyErrorHandler(System.out));
//XML存放地址
xmlReader.parse("file:/D:/test/xml/test4.xml");
validatesuccess = true;
} catch (Exception ex) {
ex.printStackTrace();
validatesuccess = false;
}
return validatesuccess;
}
public static void main(String[] args) {
boolean b = new TestSchema().validatexmlbyxsd("test4.xml", "test4.xsd",
false);
System.out.println(b);
}
}
分享到:
相关推荐
2. **验证XML文档**:使用XML解析器或者XML Schema处理器(如Java的JAXB、Apache XMLBeans等)来检查XML文档是否符合XSD的定义。验证过程能发现并报告不符合规范的元素或属性。 3. **根据XML Schema生成XML**:在...
在Java中,XML Schema(XSD)用于定义和验证XML文档的结构和数据类型,确保文档遵循特定的规范。XML Schema文档使用XML语法定义了一系列规则,这些规则描述了有效XML文档应该具有的元素、属性、数据类型以及它们之间...
- 验证XML文档:创建`Validator`对象,然后使用它来验证XML文档是否符合XML Schema。 - 动态解析XML Schema:根据需要加载和解析XML Schema文档,以适应不同的业务需求。 - 查询XML Schema信息:获取元素、属性、...
6. **XML Schema(XSD)**:XML Schema定义了XML文档的结构和数据类型,可以用于验证XML文档是否符合规范。 7. **XPath**:XPath是XML路径语言,用于选取XML文档中的节点。在Java中,`javax.xml.xpath.XPath`接口...
- 验证:XMLBean可以验证XML文档是否符合其对应的XML Schema。 5. 性能和效率: - XMLBean虽然提供了丰富的功能,但相比轻量级的解析器如StAX,它的性能可能会稍低一些,因为其类型安全和丰富的API增加了额外的...
3. **实例解析**:通过具体例子展示如何编写XML Schema,以及如何使用XML Schema来验证XML文档。 4. **工具支持**:介绍一些常用的XML Schema编辑器和验证工具,如XMLSpy、 Oxygen XML Editor等,以及如何利用这些...
接下来,XML Schema验证确保XML文档符合预定义的结构规则。XML Schema定义了一种方式来描述XML文档的结构和数据类型。在Java中,可以使用`javax.xml.validation`包下的类进行验证。首先,需要创建一个`SchemaFactory...
《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前Web开发中经常使用的功能,具有相当高的...
7. **XML Schema(XSD)** 或 ** Relax NG**:用于验证XML文档结构的规范,确保数据的正确性。 8. **XPath(XML Path Language)**:一种查询XML文档的语言,用于选取节点,如选取所有`<title>`元素:`//title`。 ...
在解析XML时,可以使用XSD验证XML内容,确保数据的准确性和一致性。 7. **Namespace处理**: 在XML中,命名空间用于避免元素名冲突。解析XML时,可能需要处理命名空间,如`xmlns`属性。Java解析库通常提供处理命名...
- **XML验证函数**:`XMLVALIDATE`函数用于验证XML文档是否符合指定的模式(如XML Schema或DTD)。这有助于确保数据的完整性和一致性。 ```sql XMLVALIDATE(? ACCORDING TO XML SCHEMA ID(schemaname)) ``` - **...
XMLBean是Apache软件基金会开发的一款Java库...这个例子提供了一个基础的使用场景,展示了XMLBean如何生成Java类、创建、读取和验证XML数据。通过深入学习和实践,开发者可以更有效地利用XMLBean来处理复杂的XML任务。
Java还提供了对XML Schema(XSD)的支持,用于验证XML文档是否符合预定义的模式。可以使用`javax.xml.validation`包下的类进行验证。 7. **XPath和XSLT** XPath是一种查询XML文档的语言,可以用来选取节点。XSLT...
5. **XML验证**:可能包含使用DTD(Document Type Definition)或XML Schema对XML文件进行验证的示例,确保XML文档符合预定义的结构规则。 6. **Spring框架中的XML配置**:如果涉及Spring框架,那么可能有XML配置...
6. **XMLSchema验证**:PB支持XMLSchema,可以在读取XML时进行验证,确保数据符合预定义的模式,提高数据的准确性和一致性。 7. **代码示例**:在提供的"pb操作XML的例子-很不错061211-pb9"文件中,可能包含了...
- **XML Schema和DTD验证**:DOM4J还支持对XML文档进行Schema和DTD验证,确保数据的完整性和正确性。 - **XPath查询**:DOM4J支持XPath表达式,使得复杂的数据定位和提取更加容易。 - **事件驱动的解析**:除了基于...
接着,通过`Schema`对象创建一个`Validator`,并使用它来验证XML文档。如果XML文档中的科学计数法格式不正确,`validate`方法将抛出`SAXException`。 通过这种方式,我们可以确保在处理XML数据时,其中的科学计数法...
紧接着,“Chapter3 XML底层数据结构—XML Schema.ppt”将引入更现代的XML Schema,它提供了一种更为强大且灵活的结构定义工具,支持数据类型和复杂的数据模型,可以替代DTD来验证XML文档。 “Chapter4 XML样式单...
在编写完成后,我们可以使用XML解析器或者编程语言的XML库(如Java的JAXB,.NET的XmlSchema类库)来验证XML文档是否符合Schema定义,确保数据的正确性。 在实际开发中,Schema不仅限于基本类型,还可以定义复杂类型...
处理这类数据时,我们可能会利用XML Schema(XSD)来定义和验证XML文档的结构,确保数据的准确性和一致性。 4. **Ex10_3、Ex10_1、Ex10_2** 这些可能是XML操作的练习或示例代码,可能涉及到XML的创建、读取、修改...