假设我有一个 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>
注意 text in<h:tr>
和 text in<f:table>
是如何与其他标签穿插的。我的最终目标是将此列表打印为“我们有苹果、香蕉、非洲咖啡桌、80、120”,但我不知道如何仅获取文本的“我们有”部分。
到目前为止,我已经尝试使用
func enumerate(indexer: XMLIndexer) {
for child in indexer.children {
print(child.element!.text)
enumerate(child)
}
}
enumerate(indexer: exampleXML)
然而,上面写着“我们有 , , Apples Bananas , , , African Coffee Table 80 120”。问题的根源是exampleXML["root"]["h:table"]["h:tr"].element!.text
返回“我们有”,而我想先得到“我们有”部分并打印它,然后打印“Apples”,然后得到“,”并打印它,等等。我根本不知道我应该使用什么语法来做到这一点。有谁知道如何使用 SWXMLHash 或 Swift 中的其他方法来做到这一点?