Python:展平XML文档(删除换行符)

时间:2015-06-27 12:54:46

标签: python xml python-2.7 newline

Python新手在这里。

我想展平XML文档。例如,我想转换它:

<Document>
    Hello, World
</Document>

到此:

<Document>    Hello, World</Document>

我编写了一个Python程序flatten.py来进行展平:

import sys
import stdio

s = ''
while True:
   t = sys.stdin.readline()
   if not t:
      break
   s = s + t

stdio.write(s.rstrip('\r\n'))

我为flatten.py创建了一个exe。然后我打开一个DOS窗口并输入:

type input.xml | flatten

(input.xml是上面显示的XML)

这是输出:

<Document>
    Hello, World
</Document>

可悲的是,XML并没有被夷为平地。我做错了什么?

3 个答案:

答案 0 :(得分:2)

import sys
sys.stdout.write("".join(line.rstrip() for line in sys.stdin))

答案 1 :(得分:1)

这是一种做法

import sys

s = ''
while True:
    t = sys.stdin.readline()
    if not t:
        break
    s = s + t

print ''.join(s.splitlines())

答案 2 :(得分:1)

我建议:

d = d.Replace("\n\t", "\r");

string[] lines = d.Split(new string[] {"\n"}, StringSplitOptions.RemoveEmptyEntries);

lines = lines.Select((line) => line = line.Replace("\r", "\n\t")).ToArray();