IT序号网

xml之使用 Kotlin 解析 XML

developer 2025年05月04日 编程语言 92 0

我收到来自 fedex webservices 的 xml 响应,如下所示:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <SOAP-ENV:Header/> 
    <SOAP-ENV:Body> 
        <TrackReply xmlns="http://fedex.com/ws/track/v18"> 
            <HighestSeverity>SUCCESS</HighestSeverity> 
            <CompletedTrackDetails> 
                <Notifications> 
                    <Severity>SUCCESS</Severity> 
                    <Source>trck</Source> 
                    <Code>0</Code> 
                    <Message>Request was successfully processed.</Message> 
                    <LocalizedMessage>Request was successfully processed.</LocalizedMessage> 
                </Notifications> 
                <DuplicateWaybill>false</DuplicateWaybill> 
                <MoreData>false</MoreData> 
                <TrackDetailsCount>0</TrackDetailsCount> 
                <TrackDetails> 
                    *<StatusDetail> 
                        <CreationTime>2020-06-24T00:00:00</CreationTime> 
                        **<Code>DL</Code>** 
                        <Description>Delivered</Description> 
                        <Location> 
                            <City>New York</City> 
                            <StateOrProvinceCode>New York</StateOrProvinceCode> 
                            <CountryCode>US</CountryCode> 
                            <CountryName>United States</CountryName> 
                            <Residential>false</Residential> 
                        </Location> 
                    </StatusDetail>* 
                    <CarrierCode>FDXE</CarrierCode> 
                </TrackDetails> 
            </CompletedTrackDetails> 
        </TrackReply> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
 

我想存储 StatusDetail 中的信息并对其执行某些操作,特别是存储 -> DL 的 Code 中的信息

任何帮助将不胜感激。

请您参考如下方法:

首先,下载他们的 WSDL:

  1. 登录FedEx Developer Resource Center .
  2. 在页面的导航区域中,点击“FedEx Web Services”链接。
  3. 点击“文档和下载”链接。
  4. 找到您感兴趣的功能。
  5. 点击相应服务下载箭头旁边显示“下载 WSDL 或 XSD”的 WSDL 或 XSD 链接。

注意:您可以下载 WSDL 或 XML 格式的架构,具体取决于您选择的链接。此外,每个服务都有自己的 WSDL 指南,其中包含有关该特定服务的比开发人员指南更详细的信息。使用这两个指南作为最佳实践。

然后,熟悉 Apache CXF 。您可以使用CXF's wsdl2java用于从您下载的 WSDL 生成 Java 代码的工具。如果您使用 Maven,他们还有一个 cxf-codegen-plugin ,这基本上是一样的。 Gradle 没有,但是it's easy实现基于 CXF 类的 wsdl2java 任务。

无论如何,将生成的 Java 类编译到一个库中(它确实不会经常更改)并在您的 Kotlin 项目中使用它们!

这样,您实际上不需要解析 XML,因为生成的 Java 客户端将为您完成所有工作,并且您将直接使用 JavaBeans/POJO。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!