2015-02-06 20 views
0

你好我有一個長xml文件,我需要將它分成幾個(大約367個)小文件。你知道任何程序,我可以用它來分割這個文件的行嗎?按特定行分割的XML

... 
>0.00</P_60 
></PozycjeSzczegolowe 
><Pouczenie 
>Za uchybienie przewidziana w Kodeksie karnym skarbowym.</Pouczenie 
></Deklaracja> 
<!--END--> 
<?xml version="1.0" encoding="UTF-8"?> 
... 

我需要開始新的文件的飼料

<?xml version="1.0" encoding="UTF-8"?> 

,並最終

<!--END--> 

(或任何其他短語我在評論使用)

+0

您想使用哪種語言?這有什麼關係,或者沒關係 – user2622016 2015-02-06 08:37:51

回答

0

遍歷一個逐行輸入文件,並在每次出現<!--END-->時出現創建新的輸出文件。

在Python3:

#!/usr/bin/env python3 

sep = "<!--END-->" 

i = 0 
outfile = open("output"+str(i)+".xml", "w") 

for aLine in open("input.xml", "r"): 
    if aLine.strip() == sep: 
    outfile.close() 
    i += 1 
    outfile = open("output"+str(i)+".xml", "w") 
    else: 
    print(aLine, file=outfile, end="") 
+0

非常感謝,你是我的主人:) – Widziks 2015-02-09 08:40:26

0

疊代bigfile.xml當 「<?xml ...」 出現

csplit --prefix="output" -n 3 bigfile.xml '/^<?xml/' "{*}" 

如果bigfile.xml開始以 「<?xml ...」 開始一個新的文件,你可以刪除output000(空文件)