如何在 Ios 中解析 Web 服务的响应?
Posted
技术标签:
【中文标题】如何在 Ios 中解析 Web 服务的响应?【英文标题】:How to parse response of Web service in Ios? 【发布时间】:2020-01-03 06:49:41 【问题描述】:如何在 ios 中解析 Web 服务的响应?
Here is the Response of my web service
我已经知道如何使用 alamofire 解析 json 响应,但是如何解析这个响应并获取数组中的值?
Here is my tried code
【问题讨论】:
显示你尝试过的代码 请编辑您的问题以将相关代码包含为文本而不是图像并描述您获得的结果,包括任何错误代码 @Vishwa,刚刚看到您编辑的评论。您正在使用“SWXMLHash”框架。我还没有研究它。但发现了一篇博客“leaks.wanari.com/2016/08/24/xml-parsing-swift”。希望这会有所帮助。 【参考方案1】:您可以使用XMLParser
进行 XML 解析。
以下是 Swift 中的代码:
class MyParser : NSObject, XMLParserDelegate
var elementName: String = String()
var arrStr: [String] = []
func parseXML(xmlString : String)
if let xmlData = xmlString.data(using: .utf8)
let parser = XMLParser(data: xmlData)
parser.delegate = self;
parser.parse()
// MARK:- XMLParserDelegate callbacks
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:])
self.elementName = elementName
func parser(_ parser: XMLParser, foundCharacters string: String)
let data = string.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
if (!data.isEmpty)
if self.elementName == "string"
arrStr.append(data)
let xmlString = "<ArrayOfString xmlns:xsd=\"http://www.w3.org.2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org.2001/XMLSchema-instance\" xmlns=\"htp://tempuri.org\"><string>4300</string><string>4200</string></ArrayOfString>"
let parse = MyParser()
parse.parseXML(xmlString: xmlString)
print(parse.arrStr)
希望这会有所帮助。
【讨论】:
@Vishwa,刚刚看到您编辑的评论。您正在使用“SWXMLHash”框架。我还没有研究它。但是发现了一个博客'leaks.wanari.com/2016/08/24/xml-parsing-swift'。希望这会有所帮助。以上是关于如何在 Ios 中解析 Web 服务的响应?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中禁用来自 Web 服务调用的自动排序 JSON 字典响应
如何在 iOS 中解析来自 HTTP POST 的 JSON 字符串输出
如何在 ios 中解析这种类型的 JSON 响应? [复制]