【问题标题】:XML parsing with special characters带有特殊字符的 XML 解析
【发布时间】:2011-08-21 10:09:27
【问题描述】:

在我的 iPhone 应用程序中,我必须在大段之间显示UITextField。在这里,我得到这个段落字符串来自 XML。这里如何在本段的特定位置插入UITextField

这里这个XML中还包含一些特殊字符来查找插入UITextField的地方?那么如何解析XML之间的特殊字符并插入UITextField

【问题讨论】:

  • “特殊字符”是什么意思?
  • 这里文本之间的特殊字符是 = $ &

标签: iphone objective-c xml uitextfield xml-parsing


【解决方案1】:

您为什么不在保存 XML 之前对其进行编码,或者至少在您附加的数据之前对其进行编码,然后在解析时对其进行解码。

URL Encoding Reference

收到 XML 后使用:

CFURLCreateStringByReplacingPercentEscapes

  NSString* sItemNameDecorated = (NSString *) CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)@"UserName%26LastName", CFSTR(""), kCFStringEncodingUTF8);

这将输出:UserName&LastName


示例

<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="UserName&LastName />

编码后:

<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="UserName%26LastName />

【讨论】:

  • 所以这只会用 NULL 替换特殊字符对吗? .但在这里我的问题是在它们之间插入文本字段。
  • 哦,我以前从未使用过它,请您解释一下有关此替换功能的一些细节,因为当我再次使用 CFURLCreateStringByReplacingPercentEscapesUsingEncoding 时,我正在获取原始字符串,即带有特殊字符的字符串。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
相关资源
最近更新 更多