【问题标题】:Reading the GetReservationRQ xml读取 GetReservationRQ xml
【发布时间】:2021-03-24 23:29:26
【问题描述】:

为我们公司开发 SABRE 网络应用程序。我是一个完整的初学者,我已经调用了 SOAP 来取回 GetReservationRQ。 没问题。 物理上我可以看到并阅读 xml。 阅读 xml 并将其投入实际使用的最佳实践方法是什么? 我更愿意将它转换为 json 并在那里使用它,但这似乎是我对转换它的理解很少。 你使用什么技术? 示例:我想抓取 stl19:AccountingLines 元素和子节点并将它们转换为 json ... 抱歉,这是一个基本问题...但是当您刚开始时,没有什么是容易的...

【问题讨论】:

    标签: sabre


    【解决方案1】:

    您可以从开发人员工作室获取 XML 架构并使用一些工具将架构转换为类文件(这取决于您的编程语言)。一旦有了这些类,就可以将 XML 序列化/反序列化为对象,反之亦然。 如果您的语言没有这种类型的支持,您可以使用 XPATH 来读取 XML 并解析消息。

    例子:

    node = xmlRQ.SelectSingleNode("//soap:Body/a:DebitPointsRQ/a:LoyaltyMembershipID", nsmgr);
                if (node != null && node.InnerText != string.Empty)
                    _debitRequest.LoyaltyMembershipID =node.InnerText;
    

    【讨论】:

    • 您使用的是什么编程语言?
    • Typescript ...我设法找到了一种方法..但我认为它没有那么优雅。我已联系该工具的供应商,要求提供最佳实践版本,因为开发此应用程序插件的所有人员都可能遇到与我相同的情况......
    【解决方案2】:

    我建议您查看https://github.com/highsource/jsonix。这将允许您将定义 GetReservationRQ Web 服务的请求和响应消息的 xsd 文件编译成您可以在 typescript 项目中使用的 javascript 文件。这将是处理 xml json 转换的最优雅的解决方案之一。

    【讨论】:

    • 谢谢@httPants。不幸的是,我们的项目/供应商不允许使用 3rd 方工具。它是原生 js 或他们现在允许的任何工具,仅此而已。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    相关资源
    最近更新 更多