gpt4 book ai didi

string - Swift 字符串不会转义双引号

转载 作者:行者123 更新时间:2023-11-30 10:06:18 27 4
gpt4 key购买 nike

非常奇怪的问题,我觉得我错过了一些非常简单的东西,但无法弄清楚。我正在尝试构建一个 XML 正文,如下所示:

let bodyString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><UserNameLoginRequest xmlns=\"\(PSS_XML_DEFAULT_NAMESPACE)\" from=\"\(LoginManager.clientID)\"><UserName>\(username)</UserName><UserPassword>\(password)</UserPassword><ClientType>\(clientType)</ClientType></UserNameLoginRequest>"

但结果是这样的(URL 和凭据已编辑):

<?xml version=\"1.0\" encoding= \"UTF-8\"?><UserNameLoginRequest xmlns=\"http://example.com/\" from=\"myDeviceID\"><UserName>000</UserName><UserPassword>1234</UserPassword><ClientType>myClientType</ClientType></UserNameLoginRequest>

注意反斜杠。显然这不是有效的 XML 并且不起作用。那么...我错过了什么?

最佳答案

let username = "user"
let password = "pswd"
let clientType = 0
struct LoginManager {
static let clientID = 100
}

let bodyString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><UserNameLoginRequest xmlns=\"\\(PSS_XML_DEFAULT_NAMESPACE)\" from=\"\(LoginManager.clientID)\"><UserName>\(username)</UserName><UserPassword>\(password)</UserPassword><ClientType>\(clientType)</ClientType></UserNameLoginRequest>"
print(bodyString)

反斜杠也必须转义!!!

<?xml version="1.0" encoding="UTF-8"?><UserNameLoginRequest xmlns="\(PSS_XML_DEFAULT_NAMESPACE)" from="100"><UserName>user</UserName><UserPassword>pswd</UserPassword><ClientType>0</ClientType></UserNameLoginRequest>

示例

print("a\"\\b") //prints      a"\b

关于string - Swift 字符串不会转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com