如何解析XML请求到java对象?

How to parse XML request to java object?

提问人:Akhilesh Dhiman 提问时间:11/19/2022 更新时间:11/19/2022 访问量:211

问:

<?xml version="1.0" encoding="utf-8"?>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig">
asasas
</Signature>

这是请求的 XML

@XmlRootElement(name = "Signature")
public class Signature {

    private String xmlns;
    private String text;

// getter setter

@XmlAttribute(name = "xmlns")
    public String getXmlns() {
        return xmlns;
    }

    public void setXmlns(String xmlns) {
        this.xmlns = xmlns;
    }

    @XmlValue
    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

}

但是我收到错误---------->>>>异常------------javax.xml.bind.UnmarshalException:意外元素(uri:“http://www.w3.org/2000/09/xmldsig”,local:“Signature”)。预期的元素是 <{}Signature>

请帮帮我。

Java XML XML 解析 XMLHTTPREQUEST JAXB

评论


答:

0赞 kuriboh 11/19/2022 #1

预期元素 <{}Signature> 没有命名空间,但您的 XML 请求有命名空间,因此它们不匹配。 更改注释@XmlRootElement如下所示,以指定命名空间限定。

@XmlRootElement(name = "Signature", namespace="http://www.w3.org/2000/09/xmldsig")

评论

0赞 Akhilesh Dhiman 11/20/2022
我已经尝试过这个,但是如果我在签名属性中有多个值,那么我该怎么办???