gpt4 book ai didi

xml - 对 NSXMLElement 属性值中的换行字符进行编码

转载 作者:行者123 更新时间:2023-12-03 17:24:43 24 4
gpt4 key购买 nike

我正在读取和写入的 XML 数据库的注释字段存储为 NSXMLElement 的属性。一项包含一个换行符 (0x0a)。这些由我解析为 的文档中的非 NSXML 编码器进行编码,并由 NSXML 正确解析。它们导致 NSString 在内存中包含 unicode 值 0x0a 0x00(英特尔字节排序)。

例如:

<INFO BITRATE="192000" GENRE="Podcast" COMMENT="Test &amp; More Test &#xA;&#xA;After the Line Feeds"</INFO>

当将此 NSString 作为 NSXMLElement 属性的值写回时,它不会被编码回来并导致以下结果输出到 xml 文件:

 <INFO BITRATE="192000" GENRE="Podcast" COMMENT="Test &amp; More Test 

After the Line Feeds"</INFO>

再次重新读取文件时当然无法正确解析。

似乎像 NSXMLNodePreserveCharacterReferencesNSXMLNodePreserveEntities 这样的节点选项应该是可行的方法,但它似乎没有任何帮助。

我一定错过了显而易见的事情,但我一整天都在坚持这个问题。

最佳答案

经 Apple 核实,这是 NSXMLDocument 的一个已知问题,现已作为错误报告提交。

建议的解决方法包括暂时使用 libxml2。

如果我在未来版本中看到此问题得到修复,我将发表评论。

关于xml - 对 NSXMLElement 属性值中的换行字符进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134649/

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