Java 如何使用JAXB将XML与HTML标记解组
XML内容如下所示:Java 如何使用JAXB将XML与HTML标记解组,java,html,xml,jaxb,Java,Html,Xml,Jaxb,XML内容如下所示: <RichContent> <Para>This is Paragraph 1 <LineBreak/> <Strong>This is Strong html tag in Para1. </Strong> Something else... </Para> <Para>This is Paragraph 2 <LineBreak/>
<RichContent>
<Para>This is Paragraph 1
<LineBreak/>
<Strong>This is Strong html tag in Para1. </Strong> Something else...
</Para>
<Para>This is Paragraph 2
<LineBreak/>
<Strong>This is Strong html tag in Para2. </Strong> Something else...
</Para>
<Para>This is Paragraph 3
<LineBreak/>
<Strong>This is Strong html tag in Para3. </Strong> Something else...
</Para>
</RichContent>
这是第1段
这是Para1中的强html标记和#160;还有别的。。。
这是第2段
这是Para2中的强html标记和#160;还有别的。。。
这是第3段
这是Para3中的强html标记和#160;还有别的。。。
解析类是:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RichContent", propOrder = {
"para"
})
public class RichContent {
@XmlElement(name = "Para")
protected List<Para> para;
// getter & setter
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Para", propOrder = {
"content"
})
public static class Para {
@XmlMixed
protected List<String> content;
public String getContent() {
String result = "";
for(String cnt : content) {
result += cnt;
}
return result;
}
public void setContent(List<String> content) {
this.content = content;
}
}
@xmlacessortype(xmlacesstype.FIELD)
@XmlType(name=“RichContent”,proporter={
“第
})
公共类内容丰富{
@XmlElement(name=“Para”)
受保护名单第2段;
//吸气剂和塞特
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name=“Para”,比例={
“内容”
})
公共静态类{
@混合
受保护的列表内容;
公共字符串getContent(){
字符串结果=”;
用于(字符串cnt:content){
结果+=cnt;
}
返回结果;
}
公共内容(列表内容){
this.content=内容;
}
}
我用注释“@XmlMixed”设置了内容,“LineBreak”如我所愿消失了,但问题是,“Strong”和“/Strong”之间的内容也消失了
有人能帮我处理吗?谢谢
标记未关闭。每个开始标记都应该有一个
标记。如果XML应该包含自由格式的HTML(可以有未关闭的标记),则应将其作为CDATA传递,或者应转义所有特殊字符(
,&
)。@SamTyson抱歉,因为Z更改了一些内容,所以错过了//code>,原始xml中有
。