我目前正在尝试使用 Apache Digester 使用来自某些 XML 的字符串列表,如如何将文字元素添加到 List 对象中所述?常见问题解答部分。
我遇到以下错误:
[DEBUG] Digester - [SetNextRule]{job/editorial/articlegroup/article} Call java.util.ArrayList.setFields([This, This, is, is, a, a, test, test, , , , ])
[ERROR] Digester - End event threw exception <java.lang.NoSuchMethodException: No such accessible method: setFields() on object: java.util.ArrayList>java.lang.NoSuchMethodException: No such accessible method: setFields() on object: java.util.ArrayList
我使用的 XML 的简化版本如下:
<job>
<editorial>
<articlegroup>
<article>
<text>
<content><![CDATA[This]]></content>
</text>
<text>
<content><![CDATA[is]]></content>
</text>
<text>
<content><![CDATA[a]]></content>
</text>
<text>
<content><![CDATA[test]]></content>
</text>
</article>
</articlegroup>
</editorial>
</job>
和源代码:
public class PPJob {
List<String> fields;
public List<String> getFields() {
return fields;
}
public void setFields(List<String> fields) {
this.fields = fields;
}
}
addObjectCreate("job", PPJob.class);
addSetProperties("job");
addObjectCreate("job/editorial/articlegroup/article", ArrayList.class);
addCallMethod("job/editorial/articlegroup/article/text/content", "add", 1);
addCallParam("job/editorial/articlegroup/article/text/content", 0);
addSetNext("job/editorial/articlegroup/article", "setFields");
PPJob result = (PPJob)super.parse([THE XML]);
我几乎是使用 Digester 的新手,而且我很难找到我需要的示例。
谁能看到我哪里出错了?