NSXMLParser 无法解析观看上的数据,但在观看模拟器上工作正常。如何解决此问题?
请帮助
这是代码:
let url:String="http://www.someurl.com/data"
let urlToSend: NSURL = NSURL(string: url)!
// Parse the XML
parser = NSXMLParser(contentsOfURL: urlToSend)!
parser.delegate = self
let success:Bool = parser.parse()
if success {
print("parse success!")
print(strXMLData)
} else {
print("parse failure!")
}
答案 0 :(得分:0)
我遇到了同样的问题,在手表上运行时我无法调试应用程序。我的解决方案是解析iPhone App端的XML文件,并通过WCSession将数据传递给手表。
答案 1 :(得分:0)
我有完全相同的问题。我在Apple自己的论坛上找到了一个答案。
您需要将XML从URL读入NSData,然后使用NSData对象而不是NSURL调用XML解析器。
这是一些代码
var nsXMLData = NSData()
var parser = NSXMLParser()
func xmlFileRequest(urlweb:NSURL){
print("in xmlFileRequest")
let requestURL: NSURL = urlweb
let urlRequest: NSMutableURLRequest =
NSMutableURLRequest(URL: requestURL)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(urlRequest) {
(data, response, error) -> Void in
if error == nil {
print(">>>>>>xmlFileRequest success!")
self.nsXMLData = data!
self.beginParsing()
} else {
print(">>>>>>>xmlFileRequest fail")
}
}
task.resume()
}
func beginParsing()
{
parser = NSXMLParser.init(data:nsXMLData)
parser.delegate = self
let success:Bool = parser.parse()
if success {
print("***parse success***")
} else {
print("***parse failure!***")
let errorMsg:String =
(parser.parserError?.localizedDescription)!
print("Error = " + errorMsg)
}
}
我刚刚在Apple手表上测试了这段代码。