2016-04-04 12 views
0

XSLを使用して固定長テキストファイルをXMLファイルに変換できるかどうかは疑問でした。xslt 1.0を使用して固定長テキストファイルをオフセットとフィールド長を使って区切られたXMLファイルに変換する方法

特に以下の例の場合。

私は次のようなテキストファイルを持っています: 私は使用しました。

#MID# offset = 0 length = 6 
#TID1# offset = 7 length = 6 
#TID2# offset = 13 length = 6 
#TID3# offset = 19 length = 6 
#TITLE1# offset = 25 length = 8 
#TITLE2# offset = 33 length = 8 
#TITLE3# offset = 41 length = 8 

データテーブルのように見えるようになります:

##MID##TID1##TID2##TID3##TITLE1##TITLE2##TITLE3# 
# 1# 0# 0# 0#  0#  0#  0# 
# 2# 1# 0# 0#  0#  0#  0# 
# 3# 1# 2# 3#  0#  0#  0# 
# 4# 1# 2# 3#  1#  2#  3# 
################################################ 

私は

.....1.....0.....0.....0.......0.......0.......0 
.....2.....1.....0.....0.......0.......0.......0 
.....3.....1.....2.....3.......0.......0.......0 
.....4.....1.....2.....3.......1.......2.......3 

フィールドは、 私の仮定を相殺し、フィールドの長さを用いて分離されている目的を示すためのスペースを表すためにC#.netとXSLTを使用して、受信したテキストファイルをXMLファイルに変換したいと考えています(Microsoftが提供するXSLT 2.0プロセッサはなく、XSLT 1.0のみがこのcaで使用できますSEは、サクソン9.xのとXQSharpは、あまりにも多くの)

が目標出力XMLが

<MID value='1'> 
</MID> 

<MID value='2'> 
    <TID value='1'> 
    </TID> 
</MID> 

<MID value='3'> 
    <TID value='1'> 
    </TID> 
    <TID value='2'> 
    </TID> 
    <TID value='3'> 
    </TID> 
</MID> 

<MID value='4'> 
    <TID value='1'> 
    <TID value='1'> 
    </TID> 
    </TID> 
    <TID value='2'> 
    <TID value='2'> 
    </TID> 
    </TID> 
    <TID value='3'> 
    <TID value='3'> 
    </TID> 
    </TID> 
</MID> 

どうもありがとう

答えて

1

XSLT 1.0ニーズの入力としてXML文書のようになる費用。

XSLTプロセッサによっては、ファイルを読み込んでXMLとして提示できるパーサーがある場合でも、非XML形式を変換にフィードできます。 CSV、JSONなどを読み込み、一連の解析イベントとしてXSLTエンジンに渡します。

あなたの仕事はあなたのCSVのような入力を読み、それをXMLに変換することです。これを自分で行うことはできますが、タスクが解決され、XSLTのステップは必要ありません。

関連する問題