我似乎无法解析以下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;
}
要明确我想要start属性值,end属性值和文本内容。似乎有用的是以下
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);
但我无法获得内容价值。
如果我将Feed类更改为以下
Class Feed {
@Key("text")
public List<String> textList;
}
我只能获取内容而不是属性值!
很难找到任何示例源代码(在github,stackoverflow等上)
答案 0 :(得分:0)
好的,这是通过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;
}