gpt4 book ai didi

c# - XmlWriter.WriteCData 引发 ArgumentException - 无效字符

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:56 24 4
gpt4 key购买 nike

StringBuilder output = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(output))
{
writer.WriteStartElement("test");
writer.WriteCData("taco\vbell");
writer.WriteEndElement();
writer.WriteEndDocument();
}

Console.WriteLine(output.ToString());

WriteCData 抛出以下 ArgumentException,“'\v',十六进制值 0x0B,是无效字符”

我认为 CData 可以接受任何类型的数据。既然不是这样,我必须转义哪些字符?谢谢。

最佳答案

不可以,XML 本身不能表示除制表符、回车和换行之外的任何早于 U+0020 的字符。

来自 the spec , section 2.2 :

Character Range

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */

不幸的是,没有标准的方式来表示“禁止的”字符。您必须创建自己的转义机制。

关于c# - XmlWriter.WriteCData 引发 ArgumentException - 无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4892985/

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