如何从XML数据中删除回车符。

你好,我有一个这样的xml代码我有一个回车。第二行回车。这是最后一行。我用xml.parsers.expat解析上述xml有什么办法可以带所有的回车和得到数据我有一个回车。第二行回车。这是最后一行。

# 回答1

我没有xmlparse经验,但python可以带换行是这样的:> > > anStr = "我有一个回车。\ n"> > >打印anStr我有一个回车。> > >打印anStr.strip ("\ n")我有一个回车。>>>
# 回答2

谢谢,但不幸的是这些数据没有显式地提供"\ n"。存在一些其他形式的回车,我不能够带。我已经检查了数据在文本垫也没有明确的"\ n"给:- (
# 回答3

我真正感兴趣的看代码的一个片段,展示了马车控制字符出现。它是如何被读取、加入和输出?
# 回答4

我相信有一个更好的办法,但这就是我

选择 | 换行 | 行号
  1. flag =0
  2. for line in open("file"):
  3.         if "<name>" in line:
  4.                 flag = 1
  5.                 print line
  6.         elif "</name>" in line:
  7.                 print "\n" + line
  8.                 flag = 0
  9.         elif flag:
  10.                 print line.strip(),
  11.  
# 回答5

在我有限的经验与Python模块xml。sax,每一行显示一行输出。你可以带换行字符转义(),但每一行将显示在单独的行。你可以处理XML文件,流程解析器的输出或编写自己的解析器。这个脚本将读取一个XML文件,去掉换行字符从"到"行和输出到另一个文件:

选择 | 换行 | 行号
  1. inFile = open('C:\\YourDirectory\\Test.xml', 'r')
  2. lineList = inFile.readlines()
  3. inFile.close()
  4. outFile = open('C:\\YourDirectory\\Test2.xml', 'w')
  5.  
  6. lastIndexS, lastIndexE = 0, 0
  7. for item in lineList:
  8.     if '<name>' in item:
  9.         indexStart = lineList.index(item, lastIndexS+1)
  10.         lastIndexS = indexStart
  11.  
  12.     if '</name>' in item:
  13.         indexEnd = lineList.index(item, lastIndexE+1)
  14.         lastIndexE = indexEnd
  15.         for i in range(indexStart, indexEnd):
  16.             if lineList[i] == '<name>\n':
  17.                 lineList[i] = lineList[i].strip('\n')
  18.             else: lineList[i] = lineList[i].strip('\n')+" "
  19.  
  20. outFile.writelines(lineList)
  21. outFile.close()

这是一个之前和之后:

选择 | 换行 | 行号
  1. <name>I am having a carriage return here.
  2. Second line with carriage return.
  3. This is the last line.
  4. </name>
  5. <name>I am having a carriage return here. Second line with carriage return. This is the last line.</name>
  6. <name>
  7. I am having a carriage return here.
  8. Second line with carriage return.
  9. This is the last line.
  10. </name>
  11. <name>I am having a carriage return here.
  12. Second line with carriage return.
  13. This is the last line.
  14. </name>
  15.  
  16.  
  17. <name>I am having a carriage return here. Second line with carriage return. This is the last line. </name>
  18. <name>I am having a carriage return here. Second line with carriage return. This is the last line.</name>
  19. <name>I am having a carriage return here. Second line with carriage return. This is the last line. </name>
  20. <name>I am having a carriage return here. Second line with carriage return. This is the last line. </name>
  21.  

xml。sax输出:

选择 | 换行 | 行号
  1. Start:  name
  2. I am having a carriage return here. Second line with carriage return. This is the last line. 
  3. End:  name
  4.  
  5. Start:  name
  6. I am having a carriage return here. Second line with carriage return. This is the last line.
  7. End:  name
  8.  
  9. Start:  name
  10. I am having a carriage return here. Second line with carriage return. This is the last line. 
  11. End:  name
  12.  
  13. Start:  name
  14. I am having a carriage return here. Second line with carriage return. This is the last line. 
  15. End:  name

HTH

# 回答6

在第一部分代码的地方

标签: python

添加新评论