2016-11-15 143 views
0

我有一個問題,我希望會很快。我使用SWXMLHash爲Swift解析eBay API返回的XML。一些回報變得非常冗長。SWXMLHash緊湊的根元素

如:

xml["findCompletedItemsResponse"][「searchResults"][「item」]...[「sellerID"].element?.text 

我怎麼會去壓縮這樣說的:

xml[rootVar][「item」]...[「sellerID"].element?.text 

有沒有在這個實例來說明此問題的方法?我曾嘗試(這顯然不工作):

let xml = SWXMLHash.config { 
    config in 
    config.shouldProcessLazily = true 
    config.shouldProcessNamespaces = true 
    rootElementName = "findCompletedItemsResponse" 
}.parse(response); 

回答

0

我建議做這樣的事情:

let rootXml = xml["findCompletedItemsResponse"]["searchResults"] 
// ... 
let sellerID = rootXml["item"]...["sellerID"].element?.text 

每個索引的水平可以保存斷成變量 - 它只是XMLIndexer實例已被索引下降到一定水平。

希望這會有所幫助!

+0

是的。謝謝!對於使用Swift的XML來說並不陌生,並且太過專注於森林,我沒有看到明顯的樹。您的SWXMLHash創建得非常好。感謝您分享這個不錯的工具,同時也支持您的支持! –