V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yinshaojun96
V2EX  ›  程序员

报文解析的一些问题

  •  
  •   yinshaojun96 · 287 天前 · 564 次点击
    这是一个创建于 287 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <ABCB2I> <App> <Req> <AppNo>711000000749</AppNo> <Appl> <IDKind>110001</IDKind> <IDCode>222405197407151109</IDCode> <BeginDate>20000101</BeginDate> <InvalidDate>20900909</InvalidDate> <Name>孙会</Name> <Sex>1</Sex> <Birthday>19740715</Birthday> <Country>156</Country> <Address>接到办事处 5 号</Address> <Prov></Prov> <City>呼和浩特市</City> <Zone>市辖区</Zone> <ZipCode>100000</ZipCode> <Email>dfdfdfd</Email> <Phone>01002030333</Phone> <Mobile>13909660877</Mobile> <OtherConnect></OtherConnect> <ShortMsg></ShortMsg> <FixIncome>0</FixIncome> <AnnualIncome>100000.00</AnnualIncome> <Company></Company> <JobType></JobType> <JobCode>2200001</JobCode> <Notice></Notice> <RelaToInsured>01</RelaToInsured> </Appl> <Bnfs> <Count>1</Count> <Type1></Type1> <Name1></Name1> <Sex1></Sex1> <Birthday1></Birthday1> <IDCode1></IDCode1> <BeginDate1></BeginDate1> <InvalidDate1></InvalidDate1> <IDKind1></IDKind1> <RelationToInsured1></RelationToInsured1> <Sequence1></Sequence1> <Prop1></Prop1> <Phone1></Phone1> <Country1></Country1> <Address1></Address1> <Prov1></Prov1> <City1></City1> <Zone1></Zone1> </Bnfs> </Req> </App> </ABCB2I> ,其中<Bnfs>存在子标签<Count>,当<Count>的值为 1 时,则会有<Type1>,<Name1>........,当<Count>的值为 2 时,则有<Type2>,<Name2>...也就是说,在不同的每次交易请求中,Type,Name 标签命名的后缀也是不同的。你作为接收这种报文的一方,需要用 java 代码去解析这种报文,按照这种规律,用 JAXB 技术栈,对此 xml 报文进行解析,把 xml 转换为 java bean 对象,注意我希望 javabean 中不要定义 Type1,Type2 这样的值,只使用 Type,Name 这种不带后缀的命名,请提供一个清晰的回答,解释如何使用 JAXB 技术栈解析 XML 报文并将其转换为 Java Bean 对象。确保你的回答具有准确性和清晰度,并包含所需的详细步骤和代码示例,并且不要省略代码

    请注意,你的回答应灵活多样且创意十足,以便提供更加独特而相关的解析方案。

    这是我问 chatgpt 的一个问题,但是没有给我比较好的回答,各位大佬有没有什么好办法

    2 条回复    2023-07-24 09:47:23 +08:00
    dode
        1
    dode  
       286 天前 via Android
    直接手动解析 dom 节点
    yinshaojun96
        2
    yinshaojun96  
    OP
       284 天前
    @dode 可是报文是根据 count ,可能是<type1>标签,也可能是<Type2>标签,这个怎么手动呢。。。求指点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   958 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:35 · PVG 02:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.