【发布时间】:2015-04-23 12:11:37
【问题描述】:
我正在使用AEXML 并希望将 XML 从 REST 服务传递到 AEXML 解析器。但是,在提供的示例代码中,作者将 local xml 文件传递到他的解析器中。根据提供的示例,我似乎无法弄清楚如何传递通过 URL 接收到的 xml 数据。
我尝试捕获 url 并在将其传递给捆绑程序之前使用 NSXMLParser 对其进行解析,但这没有用。我还尝试从 URL 流创建一个 NSData 对象。所以它把我引向了这个问题。
如何将 url 传递给 NSBundle 进行 xml 解析?
相关代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// example from README.md
if let xmlPath = NSBundle.mainBundle().pathForResource("example", ofType: "xml") {
if let data = NSData(contentsOfFile: xmlPath) {
// works only if data is successfully parsed
// otherwise prints information about error with parsing
var error: NSError?
if let xmlDoc = AEXMLDocument(xmlData: data, error: &error) {
// prints the same XML structure as original
println(xmlDoc.xmlString)
// prints cats, dogs
for child in xmlDoc.root.children {
println(child.name)
}
// prints Optional("Tinna") (first element)
println(xmlDoc.root["cats"]["cat"].value)
// prints Tinna (first element)
println(xmlDoc.root["cats"]["cat"].stringValue)
如果需要查看更多代码,可以在GitHub here查看。
【问题讨论】:
-
注意:我昨晚发布了这个,并认为我的问题是由于 Xcode 造成的,但我删除了我原来的帖子。
标签: xml swift nsdata nsxmlparser nsbundle