在 dotnet 核心 (.net 5) 中反序列化 xml 字符串的大小是否有限制?
一切正常。但是当我开始获得 2500 多行 xml 字符串时,我得到了 '值对于无符号字节来说太大或太小'。
疑难解答:
-
测试了相同 xml 数据的旧版本(有 2000 多行,但少于新的)。所以它是数据相关的。
-
使用 Visual Studio 的
Paste as XML
进行测试以从 xml 生成类。新类和旧类完全相同。所以结构/模式是 不变。 -
在几个xml验证工具中测试了新的xml,都报告它没有错误。所以这不是数据错误。
从上面看来我达到了一些限制。
我尝试过的事情:
using system.xml.Serialization;
using System.Text;
var stringReader = new StringReader(xmlStr);
var serializer = new XmlSerializer(typeof(MyClass));
var obj1 = serializer.Deserialize(stringReader) as MyClass;
var bytes = Encoding.UTF8.GetBytes(xmlStr);
MemoryStream memStream = new(bytes);
var obj2 = serializers.Deserialize(memStream) as MyClass;
我尝试定位不同的 net5.0-windows7.0
、net5.0-windows10.0.20348.0
、net5.0-10.0.19041.0
有什么想法吗? (对不起,如果我的问题很原始,我正在学习)。