XMLからCSVへ変換する4つのステップ
- XMLデータを追加。 ドキュメントを貼り付けるか、対応する
.xmlファイルをアップロードします。 - レコードノードを選択。 1つのCSV行にする繰り返しの要素を選択します。
- フィールドのルールを選択。 ネストされた子要素をフラット化し、属性を含め、CSVの区切り文字を設定します。
- 確認してエクスポート。 CSVをコピーまたはダウンロードする前に、行と列を確認します。
繰り返されるレコードノードの選択
XMLからCSVへの変換は、ツールが「何が1つのレコードか」を理解するまで信頼できません。したがって、レコードセレクターはプライマリコントロールであり、あとから設定するようなアドバンス設定ではありません。
以下のXMLを考えてみます:
<orders>
<order id="1001">
<customer>Ada</customer>
<total>25.00</total>
</order>
<order id="1002">
<customer>Lin</customer>
<total>40.00</total>
</order>
</orders>
繰り返されるパス /orders/order は、2つのCSV行に変換されます。
- 繰り返される兄弟要素のスキャン
- 候補となるレコードのパスとその数の提案
- 別のノードの選択を可能にする
- 変換前に候補レコードをプレビューする
ネストされた子要素のフラット化
ネストされた要素は、パスに基づいた列名に変更できます。
<customer>
<name>Ada</name>
<address>
<city>London</city>
</address>
</customer>
提案される列:
customer.name
customer.address.city
オプションパネルには、ネストされた要素のフラット化、パスの区切り文字、最大深度、最大深度を超えた場合の挙動、およびネストされた断片を維持する方法が含まれています。
XML属性を含める
属性には、列に変換すべきID、タイプ、メタデータなどが含まれることがよくあります。
<order id="1001" status="paid">
推奨される列:
@id
@status
- すべての属性を含める
- 属性を除外する
- 属性のプレフィックスを選択する
- 名前空間 of プレフィックスを維持または削除する
繰り返される子要素の値の処理
レコードには繰り返される子要素配列が含まれる場合があります:
<order>
<tag>priority</tag>
<tag>international</tag>
</order>
- 値を結合する 選択した区切り文字で。
- XMLフラグメントを維持する クォーティングされた1つのセル内に。
名前空間
XML名前空間プレフィックスは、そうしなければ同じローカル名になってしまう要素を区別できます。
デフォルトでは、列名からプレフィックスは削除されます。名前空間の異なる2つの要素が同じローカル名を生成する場合、衝突の警告が表示され、該当する列に対してプレフィックスが維持されます。
代わりに、すべての列名でプレフィックスを維持するように選択することもできます。プレビューでは、ダウンロード前の最終的な列名が常に表示されます。
CSV出力ルール
XMLレコードが選択されフラット化された後は、通常のCSV出力コントロールが適用されます: 区切り文字、ヘッダーの有無、最小限または全フィールドのクォーティング、改行コード、空および欠損値の挙動、およびUTF-8出力。
区切り文字、ダブルクォーテーション、改行を含む値は、適切にエスケープされます。
マッピングのプレビュー
エクスポートする前に、プレビューには選択されたレコードのパス、検出されたレコード数、生成された列、一部のレコードで欠落しているフィールドの警告、繰り返される子要素の警告、名前空間の衝突、および表プレビューが表示されます。
XMLからCSVへの変換でよくある問題
コンバーターが1行しか出力しない
繰り返しのレコードノードではなく、ルート要素が選択されています。 レコードごとに1回出現する子パスを選択してください。
属性が欠落している
属性列を有効にしてください。 プレビューには、選択した接頭辞と名前の衝突が表示されます。
ネストされた値が消えてしまった
フラット化深度を上げるか、ネストされた断片を維持してください。 設定された深度を超えるデータが存在する場合、ツールが警告を表示します。
複数の子要素の値が1つのセルに表示される
レコードに繰り返される子リストが含まれています。 結合または維持の挙動を選択してください。
列名が重複している
名前空間プレフィックスや属性マーカーが削除された可能性があります。 各ソースパスが一意になるように名前決定戦略を変更してください。
XMLからCSVへの変換に関するよくある質問(FAQ)
どのXML要素が行になるかはどのように決定されますか?
繰り返されるノードパスが提案され、その中から選択できます。 複数の繰り返しのグループを持つドキュメントでは、自動選択だけに頼ることはできません。
XMLの属性をCSVの列にすることはできますか?
はい。 属性を有効にし、@などの表示可能な接頭辞を選択します。
ネストされたXMLをサポートしていますか?
はい、実装されたフラット化深度とフォールバックルールの範囲内でサポートします。 深い、または不規則なサブツリーは、シリアル化されたXMLテキストのまま維持できます。
繰り返される子要素はどうなりますか?
選択したオプションに従って、結合されるか維持されます。 ツールが追加の値を警告なしに破棄することはありません。
XML名前空間は維持されますか?
名前の衝突を防ぐために必要な場合に維持されます。 最終的な列名の名前ルールは、プレビューで確認できます。
XMLはアップロードされますか?
いいえ — 貼り付けられたXMLはすべてお使いのブラウザ上で解析されます。 ブラウザの処理制限を超えるファイルは、オプションのサーバーフォールバックとして提供されますが、同意なしにアップロードされることはありません。