使用 google-http-client-xml 解析 xml:使用 XmlObjectParser解析 xml 元素



我似乎无法解析以下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; 
}

相关内容

  • 没有找到相关文章

最新更新