我有这样的非常简单的xml:
<EncryptedToken>11d8575638eaa52b</EncryptedToken>
这是我的java类:
@Root
public class EncryptedTokenDto {
@Element(name = "EncryptedToken", required = false)
private String encryptedToken;
public String getEncryptedToken() {
return encryptedToken;
}
public void setEncryptedToken(String encryptedToken) {
this.encryptedToken = encryptedToken;
}
}
但是当我尝试解析这个 xml 时encryptedToken
总是null
. 我的代码有什么问题?
更新:
这是我的示例代码main
:
Serializer serializer = new Persister();
EncryptedTokenDto encryptedTokenDto = null;
try {
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <EncryptedToken>11d8575638eaa52b</EncryptedToken>";
encryptedTokenDto = serializer.read(EncryptedTokenDto.class, xml);
} catch (Exception e) {
e.printStackTrace();
}
if (encryptedTokenDto != null) {
System.out.println(encryptedTokenDto.getEncryptedToken());
}
实际上这不是真正的代码,因为我从 Web 服务接收 xml,但其他一切都很好,问题只在 xml 解析中。
更新2:
我发现如果我像这样更改我的xml:
String xml = "<root> \n <EncryptedToken>11d8575638eaa52b</EncryptedToken> \n </root>";
并像这样编写类:
@Root
public class EncryptedTokenDto {
@Element(name = "EncryptedToken", required = false)
private String encryptedToken;
public String getEncryptedToken() {
return this.encryptedToken;
}
public void setEncryptedToken(String encryptedToken) {
this.encryptedToken = encryptedToken;
}
}
一切正常。
所以我的问题是:如何使用 SimpleXml 解析没有根元素的 xml 文档
注意:我需要使用 SimpleXml,我不能使用任何其他解析器。