gpt4 book ai didi

android - android中xml的验证器(xsd)

转载 作者:行者123 更新时间:2023-11-30 04:12:34 28 4
gpt4 key购买 nike

我在 Android 中有一个 API 10(2.3.3 版本)的项目,我在使用 xsd 文件验证 xml 时遇到问题。这是我的代码:

public static Document buildDoc(String xml, String xsd){
// parse an XML document into a DOM tree
Document document = null;

try {

DocumentBuilderFactory parserFactory = DocumentBuilderFactory.newInstance();
parserFactory.setNamespaceAware(true);
DocumentBuilder parserdb = parserFactory.newDocumentBuilder();
doc = parserdb.parse(new InputSource( new StringReader(xml) ));

SchemaFactory factory = SchemaFactory.newInstance(
XMLConstants.W3C_XML_SCHEMA_NS_URI); //here the emulator raises an exception


Source schemaFile = new StreamSource(new File(xsd));
Schema schema = factory.newSchema(schemaFile);


Validator validator = schema.newValidator();

// validate the DOM tree
validator.validate(new DOMSource(doc));
System.out.println("Validation OK!");
} catch (SAXException e) {
// instance document is invalid!
System.err.println("Validation ERROR!");
e.printStackTrace();

} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
System.err.println("Validation ERROR!");
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
System.err.println("Validation ERROR!");
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("Validation ERROR!");
e.printStackTrace();

}

return doc;

}

我的 Eclipse 模拟器抛出异常:E/AndroidRuntime(4770): 引起:java.lang.IllegalArgumentException: http://www.w3.org/2001/XMLSchema

在这一行中:SchemaFactory 工厂 = SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI);

为什么??

最佳答案

因为您的平台不支持 XML Schema。

关于android - android中xml的验证器(xsd),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10596540/

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