zoukankan      html  css  js  c++  java
  • javax.xml.bind.UnmarshalException: 意外的元素 (uri:"", local:"xml")。所需元素为(none)

    将xml转换为object时候报错:javax.xml.bind.UnmarshalException: 意外的元素 (uri:"", local:"xml")。所需元素为(none)

    代码如下:

        /**
         * xml转object
         * @param clazz
         * @param xml
         * @param <T>
         * @return
         */
        public static <T> T xmlToObject(Class<T> clazz, String xml) {
            try {
                JAXBContext jaxbContext = JAXBContext.newInstance(clazz);
                Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
                StringReader reader = new StringReader(xml);
                T message = (T) unmarshaller.unmarshal(reader);
                return message;
            } catch (JAXBException e) {
                e.printStackTrace();
            }
        }

    调用方:

    WxMessage wxMessage = XmlUtils.xmlToObject(WxMessage.class, requestBody);

    原因:通过Unmarshaller 根据xml反射为对象

    解决:在WxMessage,需要加上xml的注解:@XmlRootElement(name="xml")

  • 相关阅读:
    声明函数的是方式
    数组的相关属性和函数
    JS选择结构
    JS数据类型
    JS 运算符
    JS 变量
    响应式布局
    css的flex属性
    CSS中的度量单位
    BFC 规则
  • 原文地址:https://www.cnblogs.com/quan-coder/p/9633240.html
Copyright © 2011-2022 走看看