【发布时间】:2011-05-14 23:38:31
【问题描述】:
我正在使用 SAX 来解析 XML 文件。假设我希望我的应用程序仅处理带有根元素“animalList”的 XML 文件 - 如果根节点是其他东西,SAX 解析器应该终止解析。
使用 DOM,你可以这样做:
...
Element rootElement = xmldoc.getDocumentElement();
if ( ! rootElement.getNodeName().equalsIgnoreCase("animalList") )
throw new Exception("File is not an animalList file.");
...
但我无法确定如何使用 SAX 执行此操作 - 我无法弄清楚如何告诉 SAX 解析器确定根元素。但是,我知道如何随时停止解析(在看到 Tom's solution 之后)。
示例 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<animalList version="1.0">
<owner>Old Joe</owner>
<dogs>
<germanShephered>Spike</germanShephered>
<australianTerrier>Scooby</australianTerrier>
<beagle>Ginger</beagle>
</dogs>
<cats>
<devonRex>Tom</devonRex>
<maineCoon>Keta</maineCoon>
</cats>
</animalList>
谢谢。
【问题讨论】: