sql >> Base de Datos >  >> NoSQL >> MongoDB

XML a BSON usando C#

Tuve el mismo problema hoy. Seguro que no es la mejor solución, pero lo resolví de esta manera en mi proyecto y funciona para lo que lo necesito:

  1. Deserializar XML a Json
  2. Deserializar Json a Bson

    using (var reader = new StreamReader(context.Request.Body))
    {
      var body = reader.ReadToEnd(); // read input string
    
       XmlDocument doc = new XmlDocument();
       doc.LoadXml(body); // String to XML Document
    
       string jsonText = JsonConvert.SerializeXmlNode(doc); //XML to Json
       var bsdocument = BsonSerializer.Deserialize<BsonDocument>(jsonText); //Deserialize JSON String to BSon Document
       var mcollection = Program._database.GetCollection<BsonDocument>("test_collection_05");
       await mcollection.InsertOneAsync(bsdocument); //Insert into mongoDB
     }