gpt4 book ai didi

java - 将 DFDL 转换为 XML

转载 作者:行者123 更新时间:2023-11-30 03:55:09 36 4
gpt4 key购买 nike

我正在尝试解析以下格式的 Web 服务响应消息(消息树):

Message
Properties
Properties..[]
DFDL
ObjectIWantUnmarshalled
AllItsDataIwant[]

并解码“ObjectIWantUnmarshalled”。但是,该数据采用 DFDL 格式。在我的请求中,我使用以下行将 XML 格式化为 DFDL:

Document outDocument = outMessage.createDOMDocument(MbDFDL.PARSER_NAME);

但是似乎没有一种相反的方法,即 DFDL 到 XML。我尝试过:

Document outDocument = inMessage.createDOMDocument(MbXMLNSC.PARSER_NAME);

以及直接从 MbMessage 简单地解码数据的其他尝试:

jaxbContext_COBOL.createUnmarshaller().unmarshal(inMessage.getDOMDocument())

但是我无法通过这种方式或任何其他方式获取文档节点,它始终为空。

最佳答案

可能已经太晚了,但你的处理方式是错误的。

使用 WMB 和 IIB 时,您应该使用内置的 XML 支持 - 而不是 javax.XML.* 类库。因此,您不应该使用 JAXB 解码器,而应该

  • 在输出消息根下创建 XMLNSC 树
  • 将输入 DFDL 消息树复制到输出 XMLNSC 消息树(一行)

...消息流将在需要时将树序列化(解码)为 XML - 当它遇到输出节点时,或者当您调用 outMessage.toBitstream() 时。

关于java - 将 DFDL 转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413997/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com