gpt4 book ai didi

c# - 使用 XMLSerialize 进行 XML 解析,无效字符 0x10

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:17 26 4
gpt4 key购买 nike

因此,我正在尝试通过套接字从使用 XML 进行通信的旧游戏中检索一些数据。当一条来自游戏的消息传到线上时,它的内容如下:

<?xml version=\"1.0\"?><message><type>SERVER</type><user>TestDeleteOrKillMe</user><cmd>PRIVATE_MSG</cmd><host>65.255.81.81</host><msg>57</msg></message>

但是,由于这篇文章不会显示字符,您在这里看不到的是,在 msg 标签中的数字 57 之后有两个 0x10 字符,显示为空框。这些框的目的是描述发送到服务器和从服务器发送的参数。例如,数字 57 对应于包含变量的消息代码,然后在 0x10 之后发送变量的内容。

我的问题是使用 XmlSerialize 序列化从缓冲区中提取的字节会产生无效字符相关错误,即:

 {"'', hexadecimal value 0x10, is an invalid character. Line 1, position 135."}

问题是我该如何解决这个问题?有没有办法配置序列化程序以接受这个字符或一些 hack 来使它工作?

最佳答案

一个可能的问题是 0x10 被 XML 1.0 标准明确排除。参见 this article .您可以尝试更改为 XML 1.1;否则,您可能必须自己“手动”解析 XML,或者至少在反序列化之前进行替换(例如,将 0x10 替换为垂直管道)。

关于c# - 使用 XMLSerialize 进行 XML 解析,无效字符 0x10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19739043/

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