Преобразование XML в BsonArray в MongoDB с использованием C # - PullRequest
1 голос
/ 24 октября 2019

У меня есть файл XML, и я хочу преобразовать его в BsonArray в MongoDB, позже я смогу сделать его списком элементов. Вот что я попробовал.

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. Это означает, что я получу только ОДИН документ с сотнями полей. Но я хочу сделать их отдельными списками.

1 Ответ

0 голосов
/ 24 октября 2019

Вы можете использовать BsonDocument.Parse() для чтения вашей строки, а затем вы можете получить доступ к пути catalog.book для приведения в BsonArray:

var json_doc = JsonConvert.SerializeXmlNode(doc);
var bsonArray = BsonDocument.Parse(json_doc)["catalog"]["book"].AsBsonArray;
...