如果元素名称在句点

时间:2015-12-22 15:02:16

标签: c# json xml mongodb json.net

我正在编写一个C#应用程序,它从XML文件中读取,将其转换为JSON,然后上传到MongoDB。我们的一些标签结尾处有句号,如下所示:

<BatteryTest.>GOOD</BatteryTest.>

使用Newtonsoft库我可以毫无问题地将XML转换为JSON。当我将它反序列化为BsonDocument时,我遇到了麻烦:

var document = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(jsonText);

我收到以下错误消息:

  

mscorlib.dll中出现“MongoDB.Bson.BsonSerializationException”类型的异常,但未在用户代码中处理

     

其他信息:元素名称'BatteryTest。'无效'。

我查看了the documentation但是我没有找到任何可以解释如何更改反序列化器的格式化属性的内容。这是有效的XML,所以我不确定解串器为什么会阻塞它。

这是无效的JSON吗?如果是这样,是否还有一种方法可以将其插入到MongoDB而不会丢失那段时间?

1 个答案:

答案 0 :(得分:2)

由于该点可以在MongoDB queries中使用,因此不能在字段名称中使用。在将JSON转换为BSONDocument之前,您必须预先处理JSON。