如何使用 Objective-C 创建文本 XML 字符串?

发布于 2024-09-03 06:37:37 字数 326 浏览 6 评论 0原文

我有很长的 XML 字符串,我将它们硬编码到 iPhone 项目的单元测试中。

必须转义所有引号和换行符是相当难看的——例如:

NSString *xml = 
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<root>\
    <element name=\"foo\" />\
</root>";

如果有一种低摩擦的方式来做到这一点,那就太好了。

我知道 Ruby 对于多行文字有很好的语法...对 Objective-C 有什么建议吗?

I have long XML strings that I'm hard-coding into an iPhone project's unit tests.

It's pretty ugly having to escape all the quotes and line breaks -- for example:

NSString *xml = 
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<root>\
    <element name=\"foo\" />\
</root>";

It would be really nice to have a lower-friction way to do that.

I know Ruby has a great syntax for multiline literals... any suggestions for Objective-C?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子是时光的心 2024-09-10 06:37:37

ObjC 还具有多行文字,并且单引号在 XML 中是合法的:

NSString *xml = 
@"<?xml version='1.0' encoding='UTF-8'?>"
 "<root>"
    "<element name='foo' />"
 "</root>";

请注意,这不会在字符串中嵌入换行符,这与您的代码略有不同。

ObjC also has multi-line literals, and single-quotes are legal in XML:

NSString *xml = 
@"<?xml version='1.0' encoding='UTF-8'?>"
 "<root>"
    "<element name='foo' />"
 "</root>";

Note that this doesn't embed newlines in the string, which is slightly different from your code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文