如何将带有period(。)的xml标记转换为jaxb变量

时间:2019-02-14 13:06:29

标签: java xml jaxb

我有一个如下所示的xml。

<first.name>abc</first.name>

当我尝试将其转换为jaxb变量,如下所示

@XmlElement (name = "first.name")
private String firstName;

它没有捕获值。

谢谢。

3 个答案:

答案 0 :(得分:0)

您好,请按照以下说明修改您的POJO类。这应该起作用。

@XmlRootElement(name = "first.name")
class Pojo {
    @XmlValue
    private String firstName;
}

答案 1 :(得分:0)

这是我的工作

xml文件(user.xml)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
    <first.name>samba</first.name>
</user>

用户类(User.java)

@XmlRootElement(name = "user")
public class User {

    private String firstName;

    public String getFirstName() {
        return firstName;
    }

    @XmlElement(name = "first.name")
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
}

解组

File file = new File("user.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(User.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
User user = (User) jaxbUnmarshaller.unmarshal(file);
System.out.println("User's Name: "+user.getFirstName())

输出

User's Name: samba

答案 2 :(得分:0)

作为最后一个选择,您可以将“ first.name”替换为“ firstname”