Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Jackson解析xmlElements?_Java_Android_Xml_Parsing_Jackson - Fatal编程技术网

Java 如何使用Jackson解析xmlElements?

Java 如何使用Jackson解析xmlElements?,java,android,xml,parsing,jackson,Java,Android,Xml,Parsing,Jackson,如何使用Jackson解析xmlElements? 例如,我的xml是: <channel> <title>Title</title> <link>http://example.com</link> <item> <category>Categ</category> <guid>http://1294796429.html</guid>

如何使用Jackson解析xmlElements? 例如,我的xml是:

<channel>
  <title>Title</title>
  <link>http://example.com</link>
   <item>
     <category>Categ</category>
     <guid>http://1294796429.html</guid>
     <rian:priority xmlns:rian="http://example.com">3</rian:priority>
   </item>
   ...
   <item>... </item>
   ...
</channel>

但它不起作用。错误是
无法将字符串保存到项

只需创建类

@JacksonXmlRootElement(localName = "channel")
public class Channel

{
    private String title;
    private String link;
    public Channel(){
    }
    @JacksonXmlProperty(localName = "item")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Item> items;
    //----getters...settters
 }
}


只需要创建一个类

@JacksonXmlRootElement(localName = "channel")
public class Channel

{
    private String title;
    private String link;
    public Channel(){
    }
    @JacksonXmlProperty(localName = "item")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Item> items;
    //----getters...settters
 }
}

@JacksonXmlRootElement(localName = "channel")
public class Channel

{
    private String title;
    private String link;
    public Channel(){
    }
    @JacksonXmlProperty(localName = "item")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Item> items;
    //----getters...settters
 }
public  class Item {
    private String guid;
    private String category;
    public Item(){

    }
JacksonXmlModule module = new JacksonXmlModule();
        module.setDefaultUseWrapper(false);
        XmlMapper xmlMapper = new XmlMapper(module);
        xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

        Channel mChannel = xmlMapper.readValue(in, Channel.class);
        Log.e(LOG_TAG, "getItemsSize: " + mChannel.getItems().size());