如何使用SWXMLHash仅获取元素文本的一部分

时间:2018-12-06 20:58:12

标签: swift xml swxmlhash

说我有一个XML文件

    <root> 
     <h:table>
      <h:tr> we have
        <h:td>Apples</h:td>,
        <h:td>Bananas</h:td>,
      </h:tr>
    </h:table>
    <f:table>
      <f:name>African Coffee Table</f:name>,
      <f:width>80</f:width>,
      <f:length>120</f:length>,
    </f:table>
  </root>

请注意<h:tr>中的文本和<f:table>中的文本如何与其他标签穿插。我的最终目标是将列表打印为“我们有苹果,香蕉,非洲咖啡桌,80、120”,但我不知道如何仅获取文本的“我们有”部分。

到目前为止,我已经尝试使用

func enumerate(indexer: XMLIndexer) {
    for child in indexer.children {
        print(child.element!.text)
        enumerate(child)
    }
}

enumerate(indexer: exampleXML)

但是打印出“我们有,,苹果香蕉,,非洲咖啡桌80120。”问题的根源是exampleXML["root"]["h:table"]["h:tr"].element!.text返回“ we have,,”,而我想先获取“ we have”部分并打印,然后打印“ Apples”,然后获取“,”并打印等等。我只是不知道应该使用哪种语法来执行此操作。有谁知道如何使用SWXMLHash或Swift中的其他方法来做到这一点?

0 个答案:

没有答案