【问题标题】:Standard equivalent for JAXB in AndroidAndroid 中 JAXB 的标准等效项
【发布时间】:2015-10-06 23:15:04
【问题描述】:

我正在构建一个应用程序,它使用 XML 请求和响应通过 HTTP POST 与服务器进行通信。由于版权限制,我不能使用 SIMPLE XML 来做(至少部分地)JAXB 通常会做的事情,并且从我拥有的所有信息来看,JAXB 不能在 Android 上使用。

我使用 XmlSerializer 构建请求并使用 XMLPullParser 解析响应来完成这项工作,但我不喜欢代码的外观,并且我无法在 Android SDK 中找到任何与 JAXB 等效的标准。

是否有任何 SDK 组件可用于将 XSD 模式文件转换为 Java 类,然后使用 marshaller/unmarshaller 与 XML 文件相互转换,或者我无法使用 XmlSerializer/XMLPullParser?

【问题讨论】:

    标签: java android xml xsd jaxb


    【解决方案1】:

    是否有任何 SDK 组件可用于将 XSD 架构文件转换为 Java 类

    没有。

    我一直在使用 XmlSerializer/XMLPullParser?

    欢迎您使用 DOM 或 SAX 而不是 XmlPullParser,就像在经典 Java 中一样。

    除了 SimpleXML,还有 several XML parsing libraries for Android

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        我有同样的问题 - 并想通了。使用jackson-module-jaxb-annotationsXmlToJson

        public static String jaxbObjectToXML(SomeClass object)
            {
                JaxbAnnotationModule module = new JaxbAnnotationModule();
                ObjectMapper objectMapper = new ObjectMapper();
                objectMapper.registerModule(module);
        
                try {
                    JsonToXml jsonToXml = new JsonToXml.Builder(
                            objectMapper.writeValueAsString(object)).build();
                    return jsonToXml.toString();
                }catch (JsonProcessingException e) {
                    e.printStackTrace();
                }
        
                return null;
            }
        

        依赖关系:

        dependencies {
            ...
            implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
            implementation 'com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.4.0'
            implementation 'com.github.smart-fun:XmlToJson:1.5.1'
        }
        

        【讨论】:

          猜你喜欢
          • 2010-10-20
          • 2013-05-22
          • 1970-01-01
          • 2011-05-26
          • 1970-01-01
          • 2015-12-28
          • 2014-06-29
          • 1970-01-01
          相关资源
          最近更新 更多