使用 NSXMLParser 和 Swift 解析 SOAP 响应 [英] Parsing SOAP response using NSXMLParser with Swift

查看:66
本文介绍了使用 NSXMLParser 和 Swift 解析 SOAP 响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 NSXMLParser 解析 Soap 响应(如下所示的代码段).但是,当我在 didStartElemnt 委托方法中打印元素名称时,我只会返回以下元素.

I am trying to parse the Soap response (snippet shown below) using NSXMLParser. However when I print the Element names in the didStartElemnt delegate method I only get the following elements returned.

元素的名称是soap:Envelope

Element's name is soap:Envelope

元素的名称是soap:Body

Element's name is soap:Body

元素的名称是 SearchResponse

Element's name is SearchResponse

元素的名称是 SearchResult

Element's name is SearchResult

    <?xml version="1.0" encoding="utf-8" standalone="no"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<SearchResponse xmlns="http://www.example.com/">
			<SearchResult><?xml version="1.0" encoding="utf-8"?><Results xmlns="http://www.example.com/XMLSchema/SearchResult" xmlns:gms="http://www.def.ghi.uk/CM/gms" xmlns:n2=" (more here + further elements....)

为什么我看不到结果(或任何后续)元素?

Why do I not see the Results (or any subsequent) element?

推荐答案

很可能是第二个 <?xml ...> 指令出现在 中.该指令仅允许在 xml 文件的开头使用.

Most likely it's the second <?xml . . .> directive that appears inside the <SearchResult>. That directive is only allowed at the start of an xml file.

这篇关于使用 NSXMLParser 和 Swift 解析 SOAP 响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆