gpt4 book ai didi

stax - stax xml验证

转载 作者:行者123 更新时间:2023-12-03 13:44:45 27 4
gpt4 key购买 nike

我知道使用sax时可以验证xml文件。但是我可以在使用Stax时进行验证吗?

最佳答案

SAX和DOM有两种XML验证方式:


单独验证-通过Validator.validate()
在解析期间验证-通过DocumentBuilderFactory.setSchema()和SAXParserFactory.setSchema()


使用StAX,可以进行验证,但这只是第一种方法。

您可以尝试如下操作:



import javax.xml.validation.*;
import javax.xml.transform.stax.*;
import javax.xml.stream.*;
import javax.xml.*;
import java.io.*;

public class StaxValidation {

public static void main (String args[]) throws Exception {

XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new FileInputStream("test.xml"));

SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new File("test.xsd"));

Validator validator = schema.newValidator();
validator.validate(new StAXSource(reader));

//no exception thrown, so valid
System.out.println("Document is valid");

}
}

关于stax - stax xml验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com