2015-03-21 6 views
1

Я нахожусь в Hackathon, и мы должны использовать технологии IBM Bluemix. Мы все новые для NodeJs и IBM Bluemix.Загрузите XML-файл в cloudant by node.js

Нам нужно загрузить this XML (есть также форматы TTL, RDF и N3), чтобы создать db и загрузить в него все.

Есть ли у вас какие-либо предложения о том, как это сделать?

+0

какая дб вы будете использовать? – Yousef

+0

Спасибо @Yousef за ваш вопрос, мы используем Cloudant. – xunga

ответ

1

Следующий пример и код, что вы используете Экспресс 3. Экспресс-немного отличается от синтаксического анализа тела ...

  1. отправить файл, чтобы выразить.
  2. Прочитано в загруженном файле
  3. Конвертировать XML в JSON.
  4. Храните JSON в своей БД.

    app.post("/upload", function (request, response) { 
        async.waterfall(
         [ 
          function (next) { 
           //where leads is the name of the field from your html page 
           fs.readFile(request.files.leads.path, next); 
          }, 
          function (xml, next) { 
           var json = parser.toJson(xml); 
           db.insert(json, next) 
          }, 
         ], function (error) { 
          if (error) { 
           console.log(error); 
           response.send(error); 
           return; 
          } 
          response.redirect("/"); 
         } 
        ); 
    }); 
    
2

Лично я бы:

  1. Читайте в файле XML
  2. Преобразование модели XML в объект JSON
  3. Затем используйте nano npm library для вставки данных в Cloudant
0

Попробуйте damn-simple-xml для преобразования в объект JavaScript. Он прост в использовании, и есть хороший пример простого случая here.

+0

Вы должны пропустить строку заголовка XML перед передачей stream.Readable to damn-simple-xml 'deserialize', хотя ... – formixian

Смежные вопросы