我正在使用com.thoughtworks.xstream.XStream生成xml字符串。我将对象解析为xstream。toXML方法,然后根据需要的方式获取xml输出。
<myxml>
<test type="test" name="test">
<question id="Name" answer="Micheal"/>
<question id="Address" answer="Home">
<details name="First Address">
<detailanswer>friend's House</detailanswer>
</details>
</basequestion>
</test>
</myxml>
XStream xstream = new XStream();
xstream.alias("myxml", MyXml.class);
xstream.alias("test", Test.class);
xstream.alias("question", Question.class);
xstream.alias("details", Details.class);
xstream.alias("detailanswer", String.class);
xstream.addImplicitCollection(MyXml.class, "test");
xstream.addImplicitCollection(Test.class, "question");
xstream.addImplicitCollection(Question.class, "details");
xstream.addImplicitCollection(Details.class, "detailanswer");
xstream.useAttributeFor(Test.class, "type");
xstream.useAttributeFor(Test.class, "name");
xstream.useAttributeFor(Question.class, "id");
xstream.useAttributeFor(Question.class, "answer");
xstream.useAttributeFor(Details.class, "name");
return xstream.toXML(eform);
以下是对象结构。
Inside MyXml there is List<Test>
Test has List<Question>, String type, String name
Question has List<Details>, String id, String answer.
Details has List<String> detailAnswer, String name
因此,问题中的元素Friend's house被添加到Details类中的List detailAnswer中。
我得到friend's House
代替friend's house
。我该如何解决。有使用XStream进行转换的特殊方法吗?
我认为最好使用java方法替换字符。
xStream.toXML(testPojo).replaceAll("'", "'")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句