1
顛覆XML格式的輸出是屬性和元素的組合 - 特別是<path>
元件內 - 參見下面的示例:問題來解析XML顛覆輸出
<?xml version="1.0" encoding="UTF-8"?>
<log>
<logentry
revision="29">
<author>bob</author>
<date>2013-02-14T17:21:42.848605Z</date>
<paths>
<path
action="A"
kind="dir"
copyfrom-path="/trunk"
copyfrom-rev="28">/tags/TAG-0.1</path>
</paths>
<msg>Creating tag TAG-0.1</msg>
</logentry>
</log>
我試圖使用公沼氣池解析使用下面這個日誌內容分成兩個不同的POJO的(LogEntry和路徑):
ArrayList<LogEntry> logEntries = new ArrayList<LogEntry>();
digester.push(logEntries);
digester.addObjectCreate("*/logentry", LogEntry.class);
digester.addSetProperties("*/logentry");
digester.addBeanPropertySetter("*/logentry/author");
digester.addBeanPropertySetter("*/logentry/date");
digester.addBeanPropertySetter("*/logentry/msg");
digester.addSetNext("*/logentry", "add");
digester.addObjectCreate("*/logentry/paths/path", Path.class);
digester.addSetProperties("*/logentry/paths/path");
digester.addBeanPropertySetter("*/logentry/paths/path", "value");
digester.addSetNext("*/logentry/paths/path", "addPath");
(注意讓addpath添加路徑對象被創建到創建LogEntry對象中的ArrayList<Path>
)
我想不通爲什麼Path類沒有被完全填充。基於XML,我可以理解爲什麼copyfrom-rev
和copyfrom-path
屬性可能沒有被複制(由於連字符)到相應的copyFromRev屬性中。
但我看不到爲什麼kind
屬性沒有在Path中設置的任何原因。
有沒有人有任何想法?