swift - 如何处理具有可选节点的 XML 文档,其中节点序列很重要

标签 swift xml xmlmapper

我需要将以下类型的 XML 解析为 Swift 对象:

<grandparent>
    <parent_1 attr1="a">
        <child_1 attr1="b"/>
        <child_2 attr1="c"/>
    </parent_1>
    <parent_2 attr1="a">
        <child_1 attr1="b"/>
        <child_2 attr1="c"/>
    </parent_2>
    <parent_3 attr1="a">
        <child_1 attr1="b"/>
        <child_2 attr1="c"/>
    </parent_3>
</grandparent>

每个父节点都是可选的,但是它们在上面定义的任何顺序都必须保留在最终的 Swift 对象中——在本例中是一个父节点为 1、2、3 的数组(如果它们都存在的话)。

我不清楚如何使用 XMLMapper 执行此操作。有人有什么建议吗?

最佳答案

您需要定义一个新标签:

<parents>
  <parent id=1>...
  <parent id=2>..,
</parents>

设置一个id属性。

您将获得一个带有父子元素的父元素。

按id排序数组:

array.sort(by: { $0.id < $1.id })

关于swift - 如何处理具有可选节点的 XML 文档,其中节点序列很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54154668/

相关文章:

ios - 将 swift 协议(protocol)属性覆盖为可选

ios - 当我将 UIView 向下转换为 SKView 时,出现异常

Swift:Corelocation 处理 didFailWithError 中的 NSError

ios - UIStackView 内部的 UIView 动态高度

javascript - 使用 jQuery : works on server, 不在本地导入 XML

php - 使用 PHP 脚本将 MySQL 转换为 XML

c# - 如何将 XslCompiledTransform 的输出获取到 XmlReader 中?

java - 更新部分 XML 映射到 bean

ios - 如何将图标添加到 Storyboard中的 iOS 静态 uitableview 单元格

ios - 如何访问孙子元素?