1
解析字符串我有很簡單的XML是這樣的:不能用簡單的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
。我的代碼有什麼問題?
UPDATE:
這裏是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());
}
其實這不是真正的代碼,因爲我收到了XML Web服務,但一切運作良好,問題只是在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;
}
}
Everyrthing是確定的。
所以我的問題是:怎麼可能來解析XML文檔,而無需使用SimpleXML
注根relement:我需要使用SimpleXML的,我不能使用任何其他解析器。
您的主要位置在哪裏? –
嘗試使用不同的變量名稱,並最終找到它。像'encryptedToken','encryptedToken1','encryptedToken2'等等。問題可能出現在'returned encryptedToken'中,可能會嘗試將它改爲'return super.encryptedToken;'或'return this.encryptedToken;'。 – g00dy
http://developer.android.com/training/basics/network-ops/xml.html。檢查文檔。 – Raghunandan