gpt4 book ai didi

c# - String.Replace 似乎没有替换 Hex char

转载 作者:数据小太阳 更新时间:2023-10-29 02:05:23 26 4
gpt4 key购买 nike

我有一个用 XML 属性装饰的类,例如 [XmlAttribute("att")]。我的目标是使用此类的 xml 创建一个 XDocument。除了偶尔从外部进入场景的“0x1f”角色外,一切都很好。所以我很自然地尝试像这样替换它:

XmlSerializer serializer = new XmlSerializer(this.GetType());
StringWriter sw = new StringWriter();
serializer.Serialize(sw, this);
string s = sw.ToString();
s = s.Replace((char)0x1F, ' ');
XDocument xs = XDocument.Parse(s);
return xs;

但是我仍然收到错误消息:“' ',十六进制值 0x1F,是无效字符。”

只是为了完整性检查,这里是截图: http://i.imgur.com/jZRWg.png

我有什么地方可能出错的想法吗?

最佳答案

如果它被表示为一个实体,您会得到相同的响应 - 也许这就是正在发生的事情?查看 s 以确保。

示例:

using System;
using System.Xml.Linq;

class Test
{
static void Main()
{
string xml = "<foo>&#31;</foo>";
XDocument.Parse(xml);
}
}

关于c# - String.Replace 似乎没有替换 Hex char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9949921/

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