Анализ ответа REST XML APIIOS

Программируем под IOS
Ответить
Anonymous
 Анализ ответа REST XML API

Сообщение Anonymous »

В настоящее время я пытаюсь проанализировать оставшийся ответ XML API от API STANDS4...
Файл XML будет выглядеть примерно так:

Код: Выделить всё



To be free it is not enough to beat the system, one must beat the system every day.

Anonymous


Я хочу иметь возможность распечатать ответ XML и назначить цитату и автора UILabel. В настоящее время у меня есть приведенный ниже код (у меня есть идентификатор пользователя и идентификатор токена):

Код: Выделить всё

import UIKit

class ViewController: UIViewController,NSXMLParserDelegate {

var strXMLData:String = ""
var currentElement:String = ""
var passData:Bool=false
var passName:Bool=false
var parser = NSXMLParser()

@IBOutlet weak var lblNameData: UILabel!
override func viewDidLoad() {
super.viewDidLoad()

let url:String="http://www.stands4.com/services/v2/quotes.php?uid=youridhere&tokenid=youridherezf&searchtype=AUTHOR&query=Albert+Einstein"
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)

lblNameData.text=strXMLData

} else {
print("parse failure!")
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
currentElement=elementName;
if(elementName=="id" || elementName=="name" || elementName=="cost" || elementName=="description")
{
if(elementName=="name"){
passName=true;
}
passData=true;
}
}

func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
currentElement="";
if(elementName=="id" || elementName=="name" || elementName=="cost" || elementName=="description")
{
if(elementName=="name"){
passName=false;
}
passData=false;
}
}

func parser(parser: NSXMLParser, foundCharacters string: String) {
if(passName){
strXMLData=strXMLData+"\n\n"+string
}

if(passData)
{
print(string)
}
}

func parser(parser: NSXMLParser, parseErrorOccurred parseError: NSError) {
NSLog("failure error: %@", parseError)
}
}
В настоящее время я получаю ответ, что анализ прошел успешно, но ничего не распечатывается. Я получил приведенный выше код из этого руководства:
http://ashishkakkad.com/2014/10/xml-par ... xmlparser/
Поэтому, скорее всего, мне нужно внести некоторые изменения для работы с моим текущим API, но я не уверен, что именно делать.
Любая помощь приветствуется!>

Подробнее здесь: https://stackoverflow.com/questions/382 ... i-response
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»