CData Arc 機能紹介 - Flat File コネクタ

by 杉本雄太 | December 10, 2025

Titl2

こんにちは。CData Software Japan の杉本です。
CData Arc のFlat File コネクタは固定長レイアウトのファイルや、可変長レイアウトのファイルを、XML フォーマットとの間で相互変換するコネクタです。位置区切りや文字区切り、単一ファイルでのマルチレイアウトにも対応する、多機能なコネクタです。今回はFlat File コネクタの基本的な利用方法についてご案内します。

XML への変換

可変長レイアウト(文字区切りファイル)からXML への変換

以下のようにカンマ区切りで指定されたCSV ファイルをサンプルとしてご説明します。

product_code,product_name,category,price,stock
PRD001,ノートPC,PC,148000,25
PRD002,ワイヤレスマウス,周辺機器,2980,150
PRD003,液晶モニター27インチ,モニター,38000,40
PRD004,ワイヤレスキーボード,周辺機器,5480,80
PRD005,USBメモリ64GB,ストレージ,1980,200
PRD006,外付けSSD 1TB,ストレージ,12800,60
PRD007,Webカメラ,周辺機器,8900,45
PRD008,デスクトップPC,PC,198000,15
PRD009,HDMIケーブル2m,ケーブル,980,300
PRD010,マウスパッド,周辺機器,580,180
PRD011,ノートPCスタンド,周辺機器,3280,55
PRD012,USB-Cハブ,周辺機器,4980,90

Flat File コネクタを利用して、上記のCSV ファイルをXML に変換する場合は、ファイルの種類で「Character Delimited」を選択します。今回はCSVファイルのため、区切り文字にカンマを指定します。

FlatFile1

今回サンプルファイルはWindows環境で作成しており、改行コードがCRLF となるので、高度な設定にある改行コードをLF からCRLF に変更します。

FlatFile2

上記の設定後にFlat File コネクタにサンプルのCSV ファイルを連携すると、以下のようなXML に変換されることが確認出来ます。


	
		PRD001
		ノートPC
		PC
		148000
		25
	
	
		PRD002
		ワイヤレスマウス
		周辺機器
		2980
		150
	
	
		PRD003
		液晶モニター27インチ
		モニター
		38000
		40
	
	
		PRD004
		ワイヤレスキーボード
		周辺機器
		5480
		80
	
	
		PRD005
		USBメモリ64GB
		ストレージ
		1980
		200
	
	
		PRD006
		外付けSSD 1TB
		ストレージ
		12800
		60
	
	
		PRD007
		Webカメラ
		周辺機器
		8900
		45
	
	
		PRD008
		デスクトップPC
		PC
		198000
		15
	
	
		PRD009
		HDMIケーブル2m
		ケーブル
		980
		300
	
	
		PRD010
		マウスパッド
		周辺機器
		580
		180
	
	
		PRD011
		ノートPCスタンド
		周辺機器
		3280
		55
	
	
		PRD012
		USB-Cハブ
		周辺機器
		4980
		90
	

また今回のサンプルではヘッダー行が存在しますが、ヘッダー行を存在しない場合は「カラムヘッダーが存在します」のチェックを外して、フィールド名を構成する必要がございます。

FlatFile3

ただし通常の可変長レイアウト(文字区切りファイル)であれば、CSV コネクタやTSV コネクタなども用意されておりますので、シンプルなXML 相互相互変換であれば、そちらのコネクタをご利用頂くのがお勧めです。

固定長ファイル(位置区切りファイル)からXML への変換

以下のような固定長ファイルをサンプルとしてご説明します。

PRD001Laptop 15inch         Electronics 0014800000025
PRD002Wireless Mouse        Peripherals 0000298000150
PRD003LCD Monitor 27inch    Monitors    0003800000040
PRD004Wireless Keyboard     Peripherals 0000548000080
PRD005USB Memory 64GB       Storage     0000198000200
PRD006External SSD 1TB      Storage     0001280000060
PRD007Web Camera            Peripherals 0000890000045
PRD008Desktop PC            Electronics 0019800000015
PRD009HDMI Cable 2m         Cables      0000098000300
PRD010Mouse Pad             Peripherals 0000058000180
PRD011Laptop Stand          Peripherals 0000328000055
PRD012USB-C Hub             Peripherals 0000498000090

固定長ファイルをXML に変換する場合は、Flat File コネクタを追加して、ファイルの種類で「Position Delimited」を選択します。

FlatFile4

次に今回のサンプルファイルでは単純な固定長レイアウトとなるため、マルチラインモードのチェックを外して、ラインの種類に固定長レイアウトの項目を指定します。

FlatFile5

最後にCSV ファイルの時と同様に改行コードをCRLF に変更して、Flat File コネクタにサンプルの固定長ファイルを連携すると、以下のようなXML として出力されます。


	
		PRD001
		Laptop 15inch
		Electronics
		00148000
		00025
	
	
		PRD002
		Wireless Mouse
		Peripherals
		00002980
		00150
	
	
		PRD003
		LCD Monitor 27inch
		Monitors
		00038000
		00040
	
	
		PRD004
		Wireless Keyboard
		Peripherals
		00005480
		00080
	
	
		PRD005
		USB Memory 64GB
		Storage
		00001980
		00200
	
	
		PRD006
		External SSD 1TB
		Storage
		00012800
		00060
	
	
		PRD007
		Web Camera
		Peripherals
		00008900
		00045
	
	
		PRD008
		Desktop PC
		Electronics
		00198000
		00015
	
	
		PRD009
		HDMI Cable 2m
		Cables
		00000980
		00300
	
	
		PRD010
		Mouse Pad
		Peripherals
		00000580
		00180
	
	
		PRD011
		Laptop Stand
		Peripherals
		00003280
		00055
	
	
		PRD012
		USB-C Hub
		Peripherals
		00004980
		00090
	

日本語を含む固定長ファイルからXML への変換

Flat File コネクタの「Position Delimited」では、文字の長さを文字数ベースでカウントします。例えば日本語などのマルチバイト文字が含まれる場合などに、バイト長ベースでの位置区切り指定を行う方法について、以下のサンプルを元に説明します。

PRD001ノートPC                PC        0014800000025
PRD002ワイヤレスマウス        周辺機器  0000298000150
PRD003液晶モニター27インチ    モニター  0003800000040
PRD004ワイヤレスキーボード    周辺機器  0000548000080
PRD005USBメモリ64GB           ストレージ0000198000200
PRD006外付けSSD 1TB           ストレージ0001280000060
PRD007Webカメラ               周辺機器  0000890000045
PRD008デスクトップPC          PC        0019800000015
PRD009HDMIケーブル2m          ケーブル  0000098000300
PRD010マウスパッド            周辺機器  0000058000180
PRD011ノートPCスタンド        周辺機器  0000328000055
PRD012USB-Cハブ               周辺機器  0000498000090

Flat File コネクタの設定ページ下部のその他の設定より、「取得するファイルの文字コードを指定するプロパティ(InputEncoding)」と「位置区切りをバイト数基準で実施する事を示すプロパティ(UseByteLength)」を設定します。例えば日本語の全角文字を2byte、半角文字を1byte として扱いたい場合は、以下のように「InputEncoding=Shift-JIS;UseByteLength=true」と指定します。

FlatFile6

改行コードをCRLF に変更して、Flat File コネクタにサンプルの日本語の固定長ファイル(Shift-JIS)を連携すると、以下のようなXML として出力されます。


	
		PRD001
		ノートPC
		PC
		00148000
		00025
	
	
		PRD002
		ワイヤレスマウス
		周辺機器
		00002980
		00150
	
	
		PRD003
		液晶モニター27インチ
		モニター
		00038000
		00040
	
	
		PRD004
		ワイヤレスキーボード
		周辺機器
		00005480
		00080
	
	
		PRD005
		USBメモリ64GB
		ストレージ
		00001980
		00200
	
	
		PRD006
		外付けSSD 1TB
		ストレージ
		00012800
		00060
	
	
		PRD007
		Webカメラ
		周辺機器
		00008900
		00045
	
	
		PRD008
		デスクトップPC
		PC
		00198000
		00015
	
	
		PRD009
		HDMIケーブル2m
		ケーブル
		00000980
		00300
	
	
		PRD010
		マウスパッド
		周辺機器
		00000580
		00180
	
	
		PRD011
		ノートPCスタンド
		周辺機器
		00003280
		00055
	
	
		PRD012
		USB-Cハブ
		周辺機器
		00004980
		00090
	

マルチレイアウトからXML への変換

ただし実際にやり取りされるデータはシンプルな構造のファイルだけでなく、例えば一つのファイルで複数の構造が存在する場合があるかと思います。Flat File コネクタではマルチレイアウトの構造にも対応していますので、以下のマルチレイアウトの固定長ファイルを元に設定方法について説明します。またFlat File コネクタではマルチレイアウトの固定長ファイルだけでなく、マルチレイアウトの可変長(文字区切り)ファイルにも対応しております。

H20241128001SALES     
D00001Laptop        0150000001
D00002Mouse         0002500002
D00003Keyboard      0004500001
D00004Monitor       0320000001
T00004004770000005

マルチレイアウトのファイルに対応する場合は「複数ラインモードを有効化」にチェックを入れる必要があります。そしてレイアウトの種類をコントロールフィールド値によって、区別することが可能です。

FlatFile7

例えばサンプルファイルでは先頭の値がH の場合はヘッダー、D の場合は明細、T の場合はトレーラーレコードを意味しています。そのため開始インデックスは先頭を意味する0、コントロールフィールド値は一文字なのでコントロールフィールド長は1、そして各ラインのコントロールフィールド値にH、D、Tとして構成します。

FlatFile8

各ラインにレイアウトの設定を行います。

FlatFile9

改行コードをCRLF に変更して、Flat File コネクタにサンプルのマルチレイアウトの固定長ファイルを連携すると、以下のようなXML として出力されます。


	
		20241128
		001
		SALES
	
	
		00001
		Laptop
		0150000
		001
	
	
		00002
		Mouse
		0002500
		002
	
	
		00003
		Keyboard
		0004500
		001
	
	
		00004
		Monitor
		0320000
		001
	
	
		00004
		00477000
		0005
	

XML からの変換

XML から可変長レイアウト(文字区切りファイル)への変換

Flat File コネクタではXML から可変長/固定長レイアウトのファイルに変換することが可能です。以下のサンプルを元にまずは可変長レイアウトのCSV ファイルに変換する方法を説明します。


	
		PRD001
		Laptop 15inch
		Electronics
		00148000
		00025
	
	
		PRD002
		Wireless Mouse
		Peripherals
		00002980
		00150
	
	
		PRD003
		LCD Monitor 27inch
		Monitors
		00038000
		00040
	

ファイルの種類で「Character Delimited」を選択し、「カラムヘッダーが存在します」にチェックを入れます。「カラムヘッダーが存在します」にチェックを入れることで、XML の要素名がCSV のヘッダーとして出力されます。

FlatFile10

Flat File コネクタにサンプルのXML ファイルを連携すると、以下のようなCSV として出力されます。

product_code,product_name,category,price,stock
PRD001,Laptop 15inch,Electronics,00148000,00025
PRD002,Wireless Mouse,Peripherals,00002980,00150
PRD003,LCD Monitor 27inch,Monitors,00038000,00040

ただしXML への変換シナリオと同様に、可変長レイアウトのシンプルなXML 変換であれば、CSV コネクタやTSV コネクタ等をご利用頂くのがお勧めです。

XML から固定長ファイル(位置区切りファイル)への変換

先ほどと同じサンプルファイルを元に、今度は固定長ファイルを出力する方法について説明します。ファイルの種類で「Position Delimited」を選択し、ラインの種類で固定長ファイルとして出力する項目のレイアウトを定義します。

FlatFile11

Flat File コネクタにサンプルのXML ファイルを連携すると、以下のような固定長ファイルとして出力されます。

PRD001Laptop 15inch         Electronics 0014800000025
PRD002Wireless Mouse        Peripherals 0000298000150
PRD003LCD Monitor 27inch    Monitors    0003800000040

XML から日本語を含む固定長ファイルへの変換

XML から日本語を含むバイト長ベースの固定長ファイルを変換する方法について、以下のサンプルを元に説明します。


	
		PRD001
		ノートPC
		PC
		00148000
		00025
	
	
		PRD002
		ワイヤレスマウス
		周辺機器
		00002980
		00150
	
	
		PRD003
		液晶モニター27インチ
		モニター
		00038000
		00040
	

「日本語を含む固定長ファイルからXML への変換」の時と同様に、その他の設定に「InputEncoding=Shift-JIS;UseByteLength=true」と指定します。

FlatFile6

そしてファイルの種類で「Position Delimited」を選択し、ラインの種類で固定長ファイルとして出力する項目のレイアウトを定義します。

FlatFile14

またCData Arc はデフォルトでUTF-8 形式のXML ファイルを扱いますので、今回のような場合は一度Encoding コネクタでUTF-8 から Shift-JIS 形式のXML ファイルに変換する必要があります。

FlatFile15

Flat File コネクタにサンプルのXML ファイル(Shift-JIS)を連携すると、以下のような固定長ファイルとして出力されます。

PRD001ノートPC              PC          0014800000025
PRD002ワイヤレスマウス      周辺機器    0000298000150
PRD003液晶モニター27インチ  モニター    0003800000040

XML からマルチレイアウトへの変換

XML からの変換の場合でも、マルチレイアウトのファイルとして出力することが可能です。XML からマルチレイアウトのファイルに変換する場合は、XML のlineType という属性を元にレイアウトを区別します。今回は以下のようなXML ファイルを、マルチレイアウトの固定長ファイルに変換する方法を説明します。


	
		20241128
		001
		SALES
	
	
		00001
		Laptop
		0150000
		001
	
	
		00002
		Mouse
		0002500
		002
	
	
		00003
		Keyboard
		0004500
		001
	
	
		00004
		Monitor
		0320000
		001
	
	
		00004
		00477000
		0005
	

ファイルの種類で「Position Delimited」を選択し、「複数ラインモードを有効化」にチェックを入れます。

FlatFile12

そして各ラインにレイアウトの設定を行います。

FlatFile13

Flat File コネクタにサンプルのXML ファイルを連携すると、以下のようなマルチレイアウトの固定長ファイルとして出力することが可能です。

H20241128001SALES     
D00001Laptop        0150000001 
D00002Mouse         0002500002 
D00003Keyboard      0004500001 
D00004Monitor       0320000001 
T00004004770000005

おわりに

この記事では、CData Arc の「Flat File コネクタ」の利用方法についてご紹介しました。CData Arc で位置区切りの固定長ファイルを扱う際に、ご活用いただけるコネクタとなりますので、ご参考になれば幸いです。製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData - サポートフォーム

この記事では CData Arc™ 2025 - 25.3.9442.0 を利用しています