2016-04-04 6 views
0

XSL'nin bir sabit uzunlukta metin dosyasını bir XML dosyasına dönüştürmesinin mümkün olup olmadığını merak ediyorum.Sabit uzunluklu metin dosyasını ofset ve alan uzunluğu kullanılarak ayrılmış bir XML dosyasına gizlemek için xslt 1.0 nasıl kullanılır?

Aşağıdaki örnek için özel olarak.

Şu şekilde görünen bir metin dosyam var: Ben kullandım.

#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 

veri tablosu olacaktır oluşacağı:

##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# 
################################################ 

Ben amacını

.....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 

alanlar ofset ve saha uzunluğu kullanılarak ayrılır, benim karineler gösteren alanı temsil etmek gelen metin dosyasını C# .net ve XSLT kullanarak bir XML dosyasına dönüştürmek ister (Microsoft tarafından sunulan XSLT 2.0 işlemcisi yoktur, sadece bu XSLT 1.0 kullanılabilir. se, Sakson 9.x ve XQSharp çok fazla)

hedef çıkış 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> 

teşekkür çok

cevap

1

XSLT 1.0 ihtiyaçları girdi olarak bir XML belgesi gibi olurdu mal oldu.

XSLT işlemciye bağlı olarak, bir dosyayı okuyabilen ve XML olarak sunabilen bir ayrıştırıcınız varsa, XML olmayan biçimleri yine de dönüşüme besleyebilirsiniz: Ör. CSV, JSON vb. okuyun ve bir dizi ayrıştırma olayı olarak XSLT motoruna aktarın. Göreviniz CSV benzeri girişinizi okumak ve XML'ye dönüştürmektir. Bunu kendiniz yapabilirdiniz, ancak görev çözüldü ve bir XSLT adımına ihtiyacınız yok.