2015-02-06 39 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(空文件)