请问一下 我们在写java的xml读取程序时 假如现在我要验证某个xml文件 那我们的代码中是根据这个xml文件头部的xsi:noNamespaceSchemaLocation="book.xsd" 这种东西来获取xsd文件来验证xml文件 还是新建一个schema工厂来生产schema类然后安装到那个生产DocumentBuilder的工厂上呢?为啥我看Java core2中是这么做的 (它设置了属性,这属性又是什么意思 0 0 他居然叫我当成魔咒 无语)
1.必须打开对命名空间的支持,即使在XML文件里你不使用它。
factory.setNamespaceAware(true);
2.必须通过如下“魔咒”来准备处理Schema的工厂。
final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
哪位有经验的前辈麻烦解释下谢谢
1.必须打开对命名空间的支持,即使在XML文件里你不使用它。
factory.setNamespaceAware(true);
2.必须通过如下“魔咒”来准备处理Schema的工厂。
final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
哪位有经验的前辈麻烦解释下谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货