如何在DOM Parser中设置验证

时间:2013-04-19 08:58:09

标签: xml dom xml-parsing

我正在使用DOM解析器我正在尝试设置验证。如果我将setValidating设置为true,则访问DOMBuilderFactory的javadoc我无法理解它将验证什么?有人能帮我理解吗?< / p>

javax.xml.parsers.DocumentBuilderFactory: factory.setValidating(true);

1 个答案:

答案 0 :(得分:1)

它将针对给定的架构或DTD进行验证。

以下列举例说明:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
   <foo></foo>
 </beans>

这是一个结构良好的XML,如果你没有将validate设置为true,那么将解析文档。

但是,如果将validate设置为true,则将验证文档结构 spring-beans-3.2.xsd架构,不允许foo元素。在这种情况下,解析器(文档构建器)将抛出SAXParseException

XML模式描述了文档中允许的元素和属性,数据类型,元素顺序,出现次数等。例如,此模式允许嵌套在bean内的beans个元素。