我有一个在Android中使用API10(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 factory=SchemaFactory.newInstance(XMLConstants.w3c_XML_Schema_NS_URI);
为什么??
因为您的平台不支持XML模式。
主要内容:形式良好的 XML 文档,验证 XML 文档,XML DTD,XML Schema,一个通用的 XML 验证器拥有正确语法的 XML 被称为"形式良好"的 XML。 通过 DTD 验证的XML是"合法"的 XML。 形式良好的 XML 文档 "形式良好"的 XML 文档拥有正确的语法。 在前面的章节描述的语法规则: XML 文档必须有一个根元素 XML元素都必须有一个关闭标签 XML 标签对大小写敏感 XML 元素必须被正确的嵌套 XML 属性值必须加引号 <?xml version=
以下是Struts2中可用的各种类型的字段级别和非字段级别验证的列表 - 日期验证员 <field name = "birthday"> <field-validator type = "date"> <param name = "min">01/01/1990</param> <param name = "max">01/01/2000</param>
问题内容: 我一直在尝试找出如何检查XML文件的语法,确保所有标签均已关闭,没有随机字符等。目前,我所关心的是确保在XML文件中没有损坏的XML。文件。 …但是我意识到我不想验证XML文件的结构;我 不想 针对XML Schema(XSD) 进行 验证…我只想检查XML语法并确定它是否正确。 问题答案: 您可以检查是否是一个XML文档 格式良好的 使用下面的代码: 上面的代码中引用的类如下: 这来
我在验证xml和xsd时遇到问题。我从xsd模式中得到这个错误。 src解决方案。4.2:解析组件“urn:id”时出错。检测到“urn:id”位于命名空间“urn:schemas microsoft com:xml-diffgram-v1”中,但此命名空间中的组件无法从架构文档中引用virtual://server/schema.xsd。如果名称空间不正确,可能需要更改“urn:id”的前缀。如
类定义为: 要加载的xml示例部分: 我创建了一个验证收集器,以显示针对架构解封xml文件过程中所有验证错误,但结果令人困惑:验证收集器将继承我的RemoteHost的每个类的验证错误显示为: 元素“host firstsubtype”不能有字符或元素信息项[children],因为该类型的内容类型为空。 元素“Other HostType”必须没有字符或元素信息项[childrens],因为该类
有什么建议给我吗?谢谢,