我似乎无法解析以下xml中的值。如果我使用google-http-java客户端,解析xml类型的解析器类是什么?下面的示例 xml 和解析器
<feed>
<text start="1" end="10"> Text 1 </text>
<text start="2" end="20"> Text 2 </text>
<text start="3" end="30"> Text 3 </text>
<text start="4" end="40"> Text 4 </text>
<text start="5" end="50"> Text 5 </text>
</feed>
Class Feed {
@Key("text")
public List<Text> textList;
}
Class Text {
@Key("@start")
public String startTime;
@Key("@end")
public String endTime;
}
为了清楚起见,我想要开始属性值、结束属性值和文本内容。似乎有效的是以下几点
HttpRequestFactory httpRequestFactory =
HTTP_TRANSPORT.createRequestFactory(
new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
request.setParser(new XmlObjectParser(new XmlNamespaceDictionary().set("", "")));
}
});
Feed feedObject = httpResponse.parseAs(Feed.class);
但是我无法获得内容值。
如果我将饲料类更改为以下内容
Class Feed {
@Key("text")
public List<String> textList;
}
我只能获取内容,而不能获取属性值!
任何示例源代码都很难找到(在github,stackoverflow等上(。
好的,
这是梳理 github !!后的答案
<feed>
<text start="1" end="10"> Text 1 </text>
<text start="2" end="20"> Text 2 </text>
<text start="3" end="30"> Text 3 </text>
<text start="4" end="40"> Text 4 </text>
<text start="5" end="50"> Text 5 </text>
</feed>
Class Feed {
@Key("text")
public List<Text> textList;
}
Class Text {
@Key("@start")
public String startTime;
@Key("@end")
public String endTime;
@Key("text()")
public String payload;
}