Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 可以通过“获取XML数据”;邮递员软件;但我无法通过SWIFT获取数据_Ios_Swift_Xml_Api_Postman - Fatal编程技术网

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

Ios 可以通过“获取XML数据”;邮递员软件;但我无法通过SWIFT获取数据,ios,swift,xml,api,postman,Ios,Swift,Xml,Api,Postman,使用Postman,我可以获取XML数据: 然而,当我遵循教程并使用SWIFT语言解析XML数据时,URL变得“无效”。 请帮帮我。这是怎么发生的 testURL的格式如下:从您的评论中,似乎URL()正在返回nil-这表示它无法从提供的字符串创建有效的URL 您需要对URL进行百分比编码,以确保URL中不允许的任何字符 在本例中,它是EDI\u NAME参数中的\。即使您可能在字符串文本中使用了\\,但\在URL的查询字符串中无效 您可以使用String的addingPercentEnc

使用Postman,我可以获取XML数据:

然而,当我遵循教程并使用SWIFT语言解析XML数据时,URL变得“无效”。

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


testURL的格式如下:

从您的评论中,似乎
URL()
正在返回
nil
-这表示它无法从提供的字符串创建有效的URL

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

在本例中,它是
EDI\u NAME
参数中的\。即使您可能在字符串文本中使用了
\\
,但
\
在URL的查询字符串中无效

您可以使用
String
addingPercentEncoding
方法来确保URL编码正确

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\u NAME
参数被转换为
EDI\u NAME=Generic%5ccusters
-已对\进行百分比编码


邮递员可能正在为您执行此百分比编码,以使事情更简单。

在控制台Xcode打印:“从读取字符串URL返回Nil”请将您的问题作为格式化文本而不是图像包含相关代码。从您的问题的当前内容和您的评论来看,
testURL
似乎没有包含正确格式的URL。它的价值是什么?谢谢你的回答。让我困惑的是,为什么邮递员可以解析“URL”,而swift不能?邮递员和swift代码中使用的URL是相同的,但我不能说至少看到了URL的某些内容。URL可能包含Swift需要URL编码(百分比编码)的字符,而邮递员会为您处理这些字符。我只能说,
testURL
无效。哦,好吧,你的回答让我更清楚了。让我试试你提供的代码。谢谢你的回答。我很感激,它很有魅力。非常感谢,我很感激!!!!很高兴听到。既然我的答案对你有帮助,你应该点击“勾号”接受它。