package com.xsd;
import java.io.IOException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
class XMLReaderValidator {
public static void main(String[] args) {
String parserClass = "org.apache.xerces.parsers.SAXParser";
String validationFeature = "http://xml.org/sax/features/validation";
String schemaFeature = "http://apache.org/xml/features/validation/schema";
String fileName = "conf/xsd/dictionary_invalid_xsd.xml";
try {
String x = fileName;
XMLReader r = XMLReaderFactory.createXMLReader(parserClass);
r.setFeature(validationFeature, true);
r.setFeature(schemaFeature, true);
r.setErrorHandler(new MyErrorHandler());
r.parse(x);
} catch (SAXException e) {
System.out.println(e.toString());
} catch (IOException e) {
System.out.println(e.toString());
}
}
private static class MyErrorHandler extends DefaultHandler {
public void warning(SAXParseException e) throws SAXException {
System.out.println("Warning: ");
printInfo(e);
}
public void error(SAXParseException e) throws SAXException {
System.out.println("Error: ");
printInfo(e);
}
public void fatalError(SAXParseException e) throws SAXException {
System.out.println("Fattal error: ");
printInfo(e);
}
private void printInfo(SAXParseException e) {
System.out.println(" Public ID: " + e.getPublicId());
System.out.println(" System ID: " + e.getSystemId());
System.out.println(" Line number: " + e.getLineNumber());
System.out.println(" Column number: " + e.getColumnNumber());
System.out.println(" Message: " + e.getMessage());
}
}
}
xml文件和xsd文件稍后上传
分享到:
相关推荐
本篇文章将深入探讨如何使用Java中的SAXParser和SAXParserFactory类来验证XML文件是否符合指定的XSD规范。 首先,`SAXParserFactory.newInstance()` 是Java API中用于创建SAXParser实例的方法,它是`javax.xml....
- 可以使用`javax.xml.validation`包中的工具对XML进行验证,确保其符合特定的XML Schema(XSD)或DTD(文档类型定义)。 在实际开发中,选择合适的XML处理库和方法取决于具体需求,如文件大小、处理速度、内存...
在进行XML Schema验证时,首先需要创建一个SchemaGrammar对象来加载XSD文件,然后使用SchemaValidator设置这个模式,并将XML文档解析器关联到验证器。解析XML文件时,验证器会根据XSD规则检查每个元素和属性,若有...
- 在Java中,可以使用XMLSchemaFactory和XMLSchema类来验证XML文档是否符合定义的Schema。 4. XPath和XSLT: - XPath是查询XML文档的路径语言,用于选取节点。Java中,使用javax.xml.xpath包下的XPathFactory和...
在本例中,作者选择使用DOM4j库来进行XML的解析与校验,并且结合了javax.xml.parsers包中的SAXParser来实现XML与XSD之间的校验。这种方法相对直观且易于理解。 #### 示例代码详解 首先,我们来看一下示例中给出的...
为了验证 XML 文件,你需要一个 XML schema (XSD) 文件,该文件定义了有效的 XML 结构。SAX 解析器可以在解析过程中应用这个 schema,确保输入数据符合预期格式。通过 `SchemaFactory` 和 `Validator` 类,可以加载 ...
6. **XML Schema(XSD)支持**:用于验证XML文档是否符合预定义的模式。Java API提供了`javax.xml.validation`包来支持XML Schema。 7. **Namespace支持**:XML中常使用命名空间来避免元素名的冲突,`javax.xml....
- 创建`SAXParserFactory`,生成`SAXParser`,并调用`parse()`方法,传入XML文件和自定义的处理器。 3. 使用StAX解析: - 引入`javax.xml.stream`包下的`XMLInputFactory`,`XMLStreamReader`和`XMLEventReader`...
在处理XML时,还应关注XML的DTD(Document Type Definition)或XSD(XML Schema Definition),它们用于定义XML文档的结构和数据类型。例如,示例中的`db.dtd`文件就为`dbconfig`元素定义了子元素的结构。在解析XML...
为了确保XML文件符合特定的架构(DTD或XSD),我们可以使用`javax.xml.validation`包中的`SchemaFactory`和`Validator`类。这样可以防止因错误的XML格式导致的问题。 最后,一些开发工具,如Eclipse、IntelliJ IDEA...
`Validator`接口则提供了验证XML文档的方法,如`validate(Source xmlSource, Result errorOutput)`,通过该方法,我们可以检测XML文档的语法是否正确。 此外,`javax.xml.namespace`子包提供了处理XML命名空间的...
- XML Schema(XSD)和DTD(Document Type Definition):用于验证XML文档是否符合预定义的结构规则。 - JSON解析:虽然本主题是关于XML,但JSON也是常见的数据交换格式,了解如何在Android中解析JSON(如使用Gson或...
XSD可以用来验证XML文档的格式是否符合要求。XSD不仅可以定义元素和属性,还可以定义数据类型和它们之间的关系。 在Java中,可以使用JAXP(Java API for XML Processing)来实现对XML Schema的处理。 ### XSLT...
- 验证XML文档:使用Schema对象和XML Schema Definition (XSD) 文件验证XML文档是否符合预定义的模式。 - XSLT转换:通过XSLTransform接口实现XML到XML或HTML的转换。 - XPath查询:通过XPathEvaluator或...
此外,XML还涉及到命名空间(Namespaces)、DTD(Document Type Definition)或XSD(XML Schema Definition)验证、XPath(XML Path Language)查询、XSLT(XML Stylesheet Language Transformations)转换等高级...
PHP的DOM扩展支持`DOMDocument::schemaValidate`方法来验证XML文档是否符合指定的XSD文件。 7. **XML编码与解码** PHP的`htmlspecialchars`和`html_entity_decode`函数可以用于XML中的字符编码和解码,以防止XML...
在实际应用中,开发者可能会遇到各种XML处理需求,例如验证XML文档是否符合特定的XML Schema(XSD),或者处理命名空间等。Xerces-J提供的API覆盖了这些功能,使得开发者能够轻松地实现复杂的XML处理任务。例如,...
Xerces还支持XML Schema(XSD)和DTD(Document Type Definition)来验证XML文档的结构是否符合规范。通过设置解析器的验证属性,可以开启验证功能,确保XML数据的正确性。 总之,"xerces.jar xml解析 生成必备工具...
此外,Xerces-J还支持XML Schema(XSD)和DTD(Document Type Definition),用于验证XML文档的结构是否符合预定义的规则。这在确保数据的准确性和一致性方面起着重要作用。例如,`org.apache.xerces.impl.dv.xs`包...
- XML格式验证:验证XML文档是否符合特定的DTD或XSD规范。 - XML数据转换:将XML数据转换为其他格式,如JSON或数据库记录。 综上所述,SAX解析器是处理XML文档的一种高效策略,尤其适用于大文件或资源受限的环境...