解析XML的问题 [英] Issues in Parsing XML

查看:113
本文介绍了解析XML的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经有了现有的类,我想检查是否有任何方法可以将以下XML映射到现有类中。

I have already existing classes,I want to check whether there is any way to map the following XML into existing class.

现有XML(jdom元素) )

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Details>
<Uniqueno>11111</Uniqueno>
<ROWSET name="Persons">
<ROW num="1">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>
<ROW num="2">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>
</ROWSET>
</Details>

现有类

    @XmlRootElement(name = "Details")
    @XmlAccessorType(XmlAccessType.FIELD)
    class Details{
          @XmlElement(name="Uniqueno")
        String Uniqueno;
        @XmlElement(name="ROWSET")
        private Persons[] persons;

        //setters & getters
    }

    @XmlRootElement(name = "Persons")
    @XmlAccessorType(XmlAccessType.FIELD)
    class Persons{
        @XmlElement(name="name")
        String name;
        @XmlElement(name="age")
        String age;

        //setters & getters
    }

我遇到的问题是:我有一个ROW num in无法映射的XML,是否可以在不改变XML结构的情况下映射相应的类?

The issue with which I am stuck is:I have a ROW num in XML which is not able to be mapped,Is any way to map the corresponding class without changing the structure of XML?

推荐答案

This Code Would work 

@XmlRootElement(name = "Details")
@XmlAccessorType(XmlAccessType.FIELD)
class Details
{
    @XmlElement(name = "Uniqueno")
    String Uniqueno;   


    @XmlElement(name = "ROWSET")
    private Persons[] persons;

    // setters & getters
}

@XmlRootElement(name = "ROWSET")
@XmlAccessorType(XmlAccessType.FIELD)
class Persons
{
    @XmlAttribute
    String name;

    @XmlElement(name = "ROW")
    private Row[] rows;


    // setters & getters
}

@XmlRootElement(name = "ROW")
@XmlAccessorType(XmlAccessType.FIELD)
class Row
{

    @XmlAttribute
    String num;

    @XmlElement
    String Name;

    @XmlElement
    String Age;

    // setters & getters
}

这篇关于解析XML的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆