VB.NET序列化在新行序列化之前缺少点
我使用XML序列化已经有一段时间了,今天我意识到了一些非常奇怪的事情。如果我在一个点后面有一行新行,当我反序列化时,我会丢失这个点。有人有过这样的经历吗?以下是我的序列化代码: 连载 反序列化 真正有趣的是,如果我在点后面有一个空格,或者删除新行字符,就没有问题了。这只有在我觉得不可思议的是圆点的情况下才会发生 以下是我在序列化时创建的XML文件的快速示例:VB.NET序列化在新行序列化之前缺少点,vb.net,serialization,Vb.net,Serialization,我使用XML序列化已经有一段时间了,今天我意识到了一些非常奇怪的事情。如果我在一个点后面有一行新行,当我反序列化时,我会丢失这个点。有人有过这样的经历吗?以下是我的序列化代码: 连载 反序列化 真正有趣的是,如果我在点后面有一个空格,或者删除新行字符,就没有问题了。这只有在我觉得不可思议的是圆点的情况下才会发生 以下是我在序列化时创建的XML文件的快速示例: <?xml version="1.0" encoding="utf-8" ?> <StoreLicense xmln
<?xml version="1.0" encoding="utf-8" ?>
<StoreLicense xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
<ReceiptAddress>98 N. Washington St.
Berkeley Springs West Virginia</ReceiptAddress>
<Name>Ambrae House at Berkeley Springs</Name>
<AliasName>Ambrae House</AliasName>
<Address1>98 N. Washington St.</Address1>
<Address2 />
...
</StoreLicense>
出现问题的线路是ReceiptAddress节点。MSDN上的这篇文章似乎回答了您的问题 从该帖子中,尝试以下内容:
<XmlAttribute("xml:space")> _
Public SpacePreserve As [String] = "preserve"
这将创建一个根节点,如下所示:
<DataImportBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:space="preserve">
Jim因为我使用的是别人的dll,我甚至没有想到在导入数据时它会修改我的数据。发生的事情是,另一个程序员有一个reg_ex,在新行之前寻找一个点。这是我的问题,也是我3个月来的悲伤。点和新行在哪里?点和新行在输出文件中。基本上我有一个可序列化的对象。这个对象包含一组字符串,其中一个字符串包含如下内容:234 Gor St.Toronto,Ontario注意St.后面的点,当我反序列化时,它将消失。当我查看输出的xml文件时,点和新行看起来很好。只有在反序列化过程中,我才丢失了点。@Mattias是对的。你能给我们一个输入和输出的快速示例吗?如果你们指的是XML文件,这里是。。。98 N.华盛顿圣伯克利斯普林斯西弗吉尼亚州伯克利斯普林斯安布雷之家安布雷之家98 N.华盛顿圣。。。对不起,上面的帖子太乱了。我还是习惯了。不管怎样,我已经把它添加到问题中了。嘿,吉姆,谢谢你的回答。不幸的是,这并没有解决我的问题。我确实在节点之间有数据,所以不会删除空白。
<XmlAttribute("xml:space")> _
Public SpacePreserve As [String] = "preserve"
<DataImportBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:space="preserve">