可以通过“邮递员软件”获取XML数据,但无法通过SWIFT获取数据

时间:2019-11-26 21:33:42

标签: ios swift xml api postman

使用邮递员,我可以获取XML数据: Postman image

但是,当我按照教程进行操作并使用SWIFT语言解析XML数据时,URL变为“无效”。 SWIFT parsing url code

result

请帮帮我。这怎么发生的?

testURL的格式为:testURL format

1 个答案:

答案 0 :(得分:0)

从您的评论看来,URL()返回了nil-这表明它无法根据提供的字符串创建有效的URL。

您需要对URL进行百分比编码,以确保URL中不允许使用任何字符。

在这种情况下,它是EDI_NAME参数中的\。即使您可能在字符串文字中使用了\\,但\在URL的查询字符串中还是无效的。

您可以使用addingPercentEncoding的{​​{1}}方法来确保URL编码正确。

String

这将导致let stringURL = "http://some.host.com/net/WebService.aspx?Login=someUser@some.com&EncryptedPassword=XXXXXX&EDI_NAME=Generic\\Customers&Select_Columns=CustomerID&WHERE_Column=CustomerID&WHERE_Value=0000" if let encodedString = stringURL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let validURL = URL(string: encodedString) { // Do something with validURL } else { print("Unable to create URL") } 参数转换为EDI_NAME-\已被百分比编码。

邮递员可能正在为您执行这种百分比编码,以使事情变得更容易。