使用 C# 将 XML 转换为 MongoDB 中的 BsonArray
Converting XML to BsonArray in MongoDB using C#
我有一个 XML 文件,我想在 MongoDB 中转换为 BsonArray,然后我可以将它变成一个元素列表。这是我尝试过的。
XmlDocument doc = new XmlDocument();
doc.Load("Books.xml");
string json_doc = JsonConvert.SerializeXmlNode(doc);
...
using (var jsonReader = new JsonReader(json_doc))
{
var context = BsonDeserializationContext.CreateRoot(jsonReader);
var document = XML_collection.DocumentSerializer.Deserialize(context);
}
代码将 XML 转换为 Json 但不是 BsonArray。这意味着我将得到的只是一个包含数百个字段的文档。但我想要的是将它们作为列表分开。
您可以使用 BsonDocument.Parse()
来读取您的字符串,然后您可以访问 catalog.book
路径以转换为 BsonArray
:
var json_doc = JsonConvert.SerializeXmlNode(doc);
var bsonArray = BsonDocument.Parse(json_doc)["catalog"]["book"].AsBsonArray;
我有一个 XML 文件,我想在 MongoDB 中转换为 BsonArray,然后我可以将它变成一个元素列表。这是我尝试过的。
XmlDocument doc = new XmlDocument();
doc.Load("Books.xml");
string json_doc = JsonConvert.SerializeXmlNode(doc);
...
using (var jsonReader = new JsonReader(json_doc))
{
var context = BsonDeserializationContext.CreateRoot(jsonReader);
var document = XML_collection.DocumentSerializer.Deserialize(context);
}
代码将 XML 转换为 Json 但不是 BsonArray。这意味着我将得到的只是一个包含数百个字段的文档。但我想要的是将它们作为列表分开。
您可以使用 BsonDocument.Parse()
来读取您的字符串,然后您可以访问 catalog.book
路径以转换为 BsonArray
:
var json_doc = JsonConvert.SerializeXmlNode(doc);
var bsonArray = BsonDocument.Parse(json_doc)["catalog"]["book"].AsBsonArray;