繁体   English   中英

C#序列化程序类编码问题

[英]C# Serializer class Encoding Issue

我真的不明白这些字符来自哪里。 我正在填充一个自定义类对象,然后将其序列化到磁盘上,并在结果中得到奇怪的字符,如下所示:

<Address1>_x0031_0028_x0020_N_x0020_30th_x0020_PL</Address1>

正确答案是这样的:

<Address1>10028 N 30th PL</Address1>

当我单步执行代码时,这些对象属性中的每一个看起来都不错,只有在序列化之后才注入奇怪的字符。 我不确定的是,这些字符是否源自其来源(Nexus DB表),而在VS中遍历代码时我只是看不到奇怪的字符,或者这些字符确实是序列化的结果从对象本身。 仅供参考,对象类源实际上是我已转换为类的架构对象。

另一个注意事项:并不是每个元素都出现此问题,只是其中的几个。

感谢您对此的任何帮助。

卡尔

解决我自己的问题。 问题是我在架构中将字段定义为xs:ncname类型,然后在序列化数据源中的值时不符合该类型,因此在序列化时相应地转换了空格和前导数字。

解决方案是将字段正确定义为xs:string。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM