我有XML文件,我想将其转换为Object。 XML如下
<Response>
<result xsi:type="TestResponse">
<description xsi:type="xsd:string">Hello world</description>
<name xsi:type="xsd:string">John</name>
<success xsi:type="xsd:boolean">true</success>
</result>
</Response>
我尝试了像
这样的方法XStream stream = new XStream(new DomDriver());
stream.alias("result", Response.class);
Response response = (Response) stream.fromXML(xmlStr);
It's throwing exception like : `Content is not allowed in prolog`
Response.java就像
public class Response{
private String description;
private String name;
private boolean success;
//setter and getter methods
}
答案 0 :(得分:0)
您的问题很可能是由XML开头的字符引起的。这些不一定是可见的,您可能会遇到字节顺序标记(BOM)。如果您使用不能很好地遵循编码的编辑器(Windows编辑器,记事本或类似工具)打开XML,则可能会发生这种情况。
尝试专门将其重新保存为UTF-8,然后添加
<?xml version="1.0" encoding="UTF-8"?>
在顶部,也许这会为你解决。
答案 1 :(得分:-1)
如果这是完整的xml文件,则缺少标题:
例如:
<?xml version="1.0" encoding="UTF-8"?>