haolyj98 2016-03-04 06:28 采纳率: 100%
浏览 6142
已采纳

用jaxb方法将xml(带命名空间xmlns)转为java实体类

关于xml文件转为java实体类,如果不带命名空间 “<m:”,用jaxb的unmarshaller方法,还有注解@XmlRootElement 等方法可以转成功,但是xml包含了"<m:"前缀(命名空间)就有问题。网上找了好久也没能解决。还请高手帮我看下。谢谢
xml代码如下:

 <?xml version="1.0" encoding="UTF-8"?>
<!--周期抄表Response-->
<ResponseMessage xmlns="http://iec.ch/TC57/2011/schema/message" xmlns:m="http://iec.ch/TC57/2011/ MeterReadings#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Payload>
        <m:MeterReadings>
            <m:MeterReading>
                <m:Meter>
                    <m:mRID>3dc53ee5-777e-50b4-8699-a1c224f45f3d</m:mRID>
                    <Names>
                        <name>1</name>
                        <NameType>
                            <name>MeterType</name>
                        </NameType>
                    </Names>
                </m:Meter>
                <m:Readings>
                    <m:timeStamp>2015-06-1T00:00:00+04:30</m:timeStamp>
                    <m:value>2.6</m:value>
                    <m:ReadingType ref="13.0.0.1.1.1.12.0.0.0.0.1.0.0.0.3.72.0"/>
                    <m:timePeriod>
                        <m:end>2015-06-1T00:00:00+04:30</m:end>
                        <m:start>2015-05-1T00:00:00+04:30</m:start>
                    </m:timePeriod>
                </m:Readings>
            </m:MeterReading>
        </m:MeterReadings>
    </Payload>
</ResponseMessage>
  • 写回答

2条回答 默认 最新

  • haolyj98 2016-03-08 12:16
    关注

    自问自打吧,问题后来解决了,通过在java实体类上定义命名空间,@XmlRootElement(namespace="http://iec.ch/TC57/2011/schema/message"

    参考的资料:http://www.cnblogs.com/lzrabbit/p/3662160.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。