2017-11-16 11 views
1

私はXML形式のファイルをいくつか持っています。各ファイルには、XMLヘッダーと約15〜20項目が含まれています。私はこれらのファイルをMongoDBに保存したいと思っています。これはJSON形式のデータを格納しています。 MongoDBに保存したいデータのサンプルを以下に示します。XML形式のデータをMongoDBに格納する方法は?

<?xml version="1.0" encoding="utf-8"?> 
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"> 
    <channel> 
     <title>Channel Title</title> 
     <link>Channel link</link> 
     <description>Channel desc</description> 
     <!-- Item 1 --> 
     <item> 
      <title>Your Title</title> 
        <link>Your link</link> 
      <pubDate>Published date</pubDate> 
      <description>Your description</description> 
     </item> 
     <!-- Item 2 --> 
     <item> 
      <title>Your Title</title> 
        <link>Your link</link> 
      <pubDate>Published date</pubDate> 
      <description>Your description</description> 
     </item> 

    </channel> 
</rss> 

どのように進めますか? MongoDBにこれらのデータを格納する方法をいくつかの例とサンプルコードを使って助けてくれますか? 注:CRUD操作にノード/ Javascriptを使用します。

編集: がフォームであり、あなたが(チャンネルのタイトルのように、チャンネル名)カテゴリを選択して、あなただけのそのチャンネルに<item>を追加するようなものだデータを格納する処理。しかし、データ全体はMongoDBに保存されます。

+0

あなたにシーンを作る。 –

+0

コードはどこですか? –

+0

質問の理解に混乱はありますか?私は詳細を追加してみましょう。 –

答えて

0

mongodbにはxml型はありません。すべてがmongodbのBSONです。

文字列形式で保存できます。

var str = '<?xml version="1.0" encoding="utf-8"?>\ 
    <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"\ 
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">\ 
     <channel>\ 
      <title>Channel Title</title>\ 
      <link>Channel link</link>\ 
      <description>Channel desc</description>\ 
      <!-- Item 1 -->\ 
      <item>\ 
       <title>Your Title</title>\ 
         <link>Your link</link>\ 
       <pubDate>Published date</pubDate>\ 
       <description>Your description</description>\ 
      </item>\ 
      <!-- Item 2 -->\ 
      <item>\ 
       <title>Your Title</title>\ 
         <link>Your link</link>\ 
       <pubDate>Published date</pubDate>\ 
       <description>Your description</description>\ 
      </item>\ 
    \ 
     </channel>\ 
    </rss>' 
    console.log(str); 

これは文字列です。これでmongodbに保存できます。

外部からのデータの場合は、文字列やその他の型のデータがある場合、唯一の方法は文字列に変換してから、必要なときに取り出します。同じxml文字列を取得します。

+0

実際には、各項目をMongoDBにチャンネル名とストアに従ってプッシュしたいと思います。 DSAとCNの2つのチャンネルがある場合と同様に、それぞれのカテゴリの項目をプッシュしたいと思います。たとえば、2つのチャンネルの場合、2つのXMLファイルがあり、各XMLファイルにはチャンネル名に従って項目を追加します。また、MongoDBとjavascriptでCRUD操作を行う方法についていくつかのリンクを教えてください。 –

+0

xmlの解析は何を求めていますか? CRUD操作については、node.jsのhttp://mongoosejs.com/docs/をご覧ください。 https://www.npmjs.com/package/mongodbを使用することもできます。私はマングースを使用します。 mongodbのガイドには、そのオフィシャルサイト以外のベストガイドはありません。 –

関連する問題