我正在创建一个原子 XML 数据包作为 REST 服务请求的一部分。 但是,当 XML 中其中一个标记的值包含注册商标的符号时,就会出现问题。
XML 正在通过 WebRequest 作为“PUT”发送。当问题字符在 XML 中时,完整的 XML 包不会到达服务器。数据包被截断,我在服务器上看到错误“开始标记中出现意外的 EOF”。
我确实在服务器上注意到请求的第一部分(在被截断之前)包含问题字符“®”。我希望只看到“®”。
我认为我只需要担心 XML 中的这些字符:
双引号:"
单引号:'
小于:<
大于>
& 符号:&
如何转义或处理我的字符串,以便我可以毫无问题地发送任何字符?
最佳答案
Xml 可以用这种方式欺骗您。并不是某些字符无效,而是一大片 unicode 是 defined as valid ,除此之外的任何内容都是禁止的。在没有更复杂逻辑的情况下获得此权利的技巧是使用 CDATA section .
关于c# - 处理特殊字符时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6459049/