我正在尝试使用SAX解析下面的XML:
<feed>
<item>
<link>
<type>MY TYPE</type>
<id>123456789</id>
<key>123456789</key>
</link>
</item>
<item>
<link>htt://www.example.com</link>
</item>
</feed>
节点链接可以有子节点(类型,ID,密钥)或文本。
我尝试使用以下代码段:
RootElement root = new RootElement("feed");
Element item = root.getChild("item");
item.getChild("link").setEndTextElementListener(new EndTextElementListener() {
public void end(String body) {
// Grab link text
}
});
item.getChild("link").getChild("type").setEndTextElementListener(new EndTextElementListener() {
public void end(String body) {
// Get type node text
}
});
但问题是SAX会抛出以下异常:
if (endTextElementListener != null) {
throw new IllegalStateException("This element already has an end"
+ " text element listener. It cannot have children.");
}
有没有办法解析可以有TEXT或子节点的节点?或者XML结构是否需要更改?
答案 0 :(得分:0)
显然使用默认处理程序是不可能的,所以我最终实现了一个自定义处理程序来解决这个问题。