Ios 在swift中解析restapi中的XML
我试图从使用POST方法的rest api解析xml数据,但解析失败,当我运行它时,它会打印: 可选(“结果>”) 解析失败Ios 在swift中解析restapi中的XML,ios,xml,swift,Ios,Xml,Swift,我试图从使用POST方法的rest api解析xml数据,但解析失败,当我运行它时,它会打印: 可选(“结果>”) 解析失败 我不知道出了什么问题,提前谢谢。错误很可能在您的xml文件中。请在问题中包含一个xml示例。@PhilB谢谢:)我修复了它,问题是我应该在请求HTTPBody中传递参数。错误很可能在您的xml文件中。请在问题中包含一个xml示例。@PhilB谢谢:)我修复了它,问题是我应该在请求HTTPBody中传递参数。 class MyTableTableViewController
我不知道出了什么问题,提前谢谢。错误很可能在您的xml文件中。请在问题中包含一个xml示例。@PhilB谢谢:)我修复了它,问题是我应该在请求HTTPBody中传递参数。错误很可能在您的xml文件中。请在问题中包含一个xml示例。@PhilB谢谢:)我修复了它,问题是我应该在请求HTTPBody中传递参数。
class MyTableTableViewController: UITableViewController, NSXMLParserDelegate {
@IBOutlet weak var segmentedControl: UISegmentedControl!
var parser = NSXMLParser()
var posts = NSMutableArray()
var elements = NSMutableDictionary()
var strXMLData:String = ""
var currentElement:String = ""
var passData:Bool=false
var passName:Bool=false
override func viewDidLoad() {
super.viewDidLoad()
getData()
}
func getData() {
let postEndpoint: String = "http://www.iaa.edu.jo/load/iaa/news"
let url = NSURL(string: postEndpoint)!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
let session = NSURLSession.sharedSession()
session.dataTaskWithRequest(request, completionHandler: { ( data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
guard let realResponse = response as? NSHTTPURLResponse where
realResponse.statusCode == 200 else {
print("Not a 200 response")
return
}
self.posts = []
let newStr = String(data: data!, encoding: NSUTF8StringEncoding)
print(newStr)
self.parser = NSXMLParser(data: data!)
self.parser.delegate = self
self.parser.parse()
let success:Bool = self.parser.parse()
if success {
print("parse success!")
print(self.strXMLData)
} else {
print("parse failure!")
}
}).resume()
}
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
currentElement=elementName
if(elementName=="page" )
{
passData=true;
}
}
func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
currentElement="";
if(elementName=="page")
{
passData=false;
}
}
func parser(parser: NSXMLParser, foundCharacters string: String) {
if(passData){
strXMLData=strXMLData+"\n\n"+string
print(string)
}
}
func parser(parser: NSXMLParser, parseErrorOccurred parseError: NSError) {
NSLog("failure error: %@", parseError)
}