paj*_*to0 4 java xml simple-framework
给定以下 XML:
<stuff>
<item id="1"><![CDATA[first stuff...]]></item>
<item id="2"><![CDATA[more stuff...]]></item>
</stuff>
Run Code Online (Sandbox Code Playgroud)
我正在努力弄清楚如何使用简单框架反序列化它。我从以下 Java 类开始:
import java.util.ArrayList;
import java.util.List;
import org.simpleframework.xml.Root;
import org.simpleframework.xml.ElementList;
@Root(name="stuff")
public class Stuff {
@ElementList(inline=true)
public List<Item> itemList = new ArrayList<Item>();
}
Run Code Online (Sandbox Code Playgroud)
和
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
@Element(name="item", data=true)
public class Item {
@Attribute
public String id;
}
Run Code Online (Sandbox Code Playgroud)
因此,我缺少的部分是如何访问每个项目元素的 CDATA 内容?
我耐心地等待儿子写下他建议的解决方案,结果解决了问题。显然,他不会与一个愿意接纳我作为成员的组织有任何关系,只是稍微扭曲了格劳乔的永恒口头禅。这是他的建议,以便其他想要解决这个难题的人有一个方便的解决方案:
修改Item类如下:
import org.simpleframework.Attribute;
import org.simpleframework.Text;
public class Item {
@Attribute
public String id;
@Text(data=true)
public String value;
}
Run Code Online (Sandbox Code Playgroud)
这样该字段value将包含 CDATA 文本。