如何在解析XML文件时忽略空格和换行符

时间:2013-04-15 08:07:10

标签: java xml xml-parsing whitespace removing-whitespace

如何在解析XML文件时忽略空格。它总是再次调用characters(...)方法,而在结束元素之后跟随'\n''\r',因此它会调用此方法两次,而不是仅调用一次。

1 个答案:

答案 0 :(得分:1)

针对DTD解析文档的SAXParser在遇到元素内容中的空格时调用ignorableWhitespace()。例如,如果这个XML片段

<ol>
   <li>one</li>
   <li>two</li>
</ol>
针对此DTD片段解析

<!ELEMENT ol (li+)>
<!ELEMENT li (#PCDATA)>

SAXParser会针对characters(...)"one"调用"two",针对元素之间的所有空白区域调用ignorableWhitespace(...)

另请注意,这仅适用于针对DTD进行解析。使用模式时,不会调用ignorableWhitespace(...)(即使可以获得相同类型的信息)。