問題タブ [xml-builder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - xml.builder を 1 行で出力するにはどうすればよいですか?
1行のテキストで出力したい:
使った
この場合、出力があります:
どうすればできますか?
javascript - xml ビルダー ルートは以前の値を追跡し、結果を複製しますが、空にすることもできません
答えを検索してみましたが、XMLBUILDER に関する限られた数の質問が見つかりませんでした。したがって、重複が見つかった場合は本当に申し訳ありませんが、質問を投稿してください。
XMLBUILDER
プロジェクトの XML を作成するために Node.js モジュールを使用しています。私は XML を作成する関数を持っていますが、何らかの理由により、root
要素は常に以前の値を格納しているため、XML に以前の値が追加されるたびに 2 回取得します。
XML を作成する Node.js コントローラーは次のとおりです。
一連の値を持つ配列があり、すべての値を追加する単一の XML を作成する必要があるroot
ため、ヘッダーを毎回追加したくないので外側に配置します。配列内のすべての要素に対して、関数を呼び出してcreateXMLData
、必要な XML を作成し、自分自身を XML に追加できるようにしますが、この関数を呼び出すたびに、以前の値が追跡され、新しい値が取得されます。過去価値。
例:配列に2つの要素があり、送信ボタンをクリックしてXMLを作成すると、最初は2つの要素でXMLが正しく作成されますが、もう一度クリックすると、以前の値とともにXMLが再度作成されるので、 4 つの要素を取得します。
関数内にroot
タグを配置すると、配列内の要素ごとにヘッダーが2回取得されますが、これは望ましくありません。XML全体に対してヘッダーを1つだけにしたい。関数内でを使用してルート要素を空にしようとしましたroot = ""
が、エラーがスローされます。
私が見逃しているのは小さなことだと確信していますが、それを理解することはできません。誰かがこれで私を助けてくれますか?
したがって、初めて作成すると、次のような XML が得られます。
[送信] ボタンをクリックして再度作成すると、次のようになります。
配列要素を呼び出すたびに要素を追加するわけではないことに注意してください。root
これは、要素によって自動的に行われます。