XML按特定行拆分

时间:2015-02-06 08:31:57

标签: xml

您好我有一个很长的xml文件,我需要将它拆分成几个(大约367个)小文件。你知道我可以使用任何程序来按行分割这个文件吗?

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

(或我在评论中使用的任何其他短语)

2 个答案:

答案 0 :(得分: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="" )

答案 1 :(得分:0)

迭代bigfile.xml并在&#34; <?xml ...&#34;时开始新文件出现

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

如果bigfile.xml以&#34; <?xml ...&#34;开头,您可以删除output000(空文件)