java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...
使用XStream將java對象轉換為xml時,需要對其中的一個字段加上CDATA,于是我自定義了一個XStream,主要代碼如下:publicstaticXStreamcreateXstream(){returnnewXStream(newXppDriver...
使用XStream將java對象轉換為xml時,需要對其中的一個字段加上CDATA,于是我自定義了一個XStream,主要代碼如下:
public static XStream createXstream() {
return new XStream(new XppDriver(new XmlFriendlyReplacer("-_", "_"))) {
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out) {
boolean cdata = false;
@Override
public void startNode(String name, @SuppressWarnings("rawtypes") Class clazz) {
super.startNode(name, clazz);
//對于用XStreamCDATA標記的theme字段,需要加上CDATA標簽
if (name.equals("theme")) {
cdata = needCDATA(clazz, name);
}
}
@Override
protected void writeText(QuickWriter writer, String text) {
if (cdata) {
writer.write(“”);
} else {
writer.write(text);
}
}
};
}
};
}
通過這種方式創建XStream,XStream xstream = new XStream(new XppDriver(new XmlFriendlyReplacer("_-", "_")));
然后都調用xstream.toXML,自定義的user_name變成了user__name(多一個下劃線),而后者是正常的,但是沒有添加CDATA標簽,怎么既能添加CDATA,且user_name下劃線正常呢?
在網上找的一些資料:http://www.iteye.com/problems/94338,啟東時報AnnotationXStreamMarshaller找不到,可能是少jar包導致的,但又找不到相關jar。
展開
總結
以上是生活随笔為你收集整理的java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 事务处理 是不是aop思想_理
- 下一篇: archer mysql源码_自动化运维