【发布时间】:2014-04-20 04:30:39
【问题描述】:
我正在使用 minidom 解析器来读取 xml。我面临的问题是,当它完成读取行时它没有读取行尾字符。例如我的 xml 文件是这样的:
<?xml version="1.0" ?><ItemGroup>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">setlocal
C:\Tools\CMake2.8\bin\cmake.exe C:/tb/Source/../</Command>
</ItemGroup>
我的 python 代码看起来像:
dom = xml.dom.minidom.parse(fileFullPath)
nodes = dom.getElementsByTagName('Command')
for j in range(len(nodes)):#{
path = nodes[j].childNodes[0].nodeValue
if nodeName == 'Command':#{
pathList = path.split(' ')
for i in range(len(pathList)):#{
sPath = pathList[i]
if sPath.find('\\n')!=-1:
print 'sPath has \\n'
#}
#}
#}
(请忽略/指出任何缩进错误)
现在,即使 setlocal 和 C:\Tools\CMake2.8\bin\cmake.exe 在 xml 文件中它们之间有一个换行符,我的代码也无法读取它,我不知道为什么。有人可以帮忙吗?
更新:
我正在尝试将<Command> 拆分为 ['setlocal', 'C:\Tools\CMake2.8\bin\cmake.exe', 'C:/tb/Source/../']
【问题讨论】:
-
您如何尝试处理
<Command>中的文本?其中第一行是setlocal,第二行是C:\Tools\CMake2.8\bin\cmake.exe C:/tb/Source/../。或者更好的说法是:在解析来自<Command>的文本后,您希望结果是什么样的? -
你想把
<Command>拆分成['setlocal', 'C:\\Tools\\CMake2.8\bin\\cmake.exe', 'C:/tb/Source/../']吗? -
是的。我正在尝试将
拆分为 ['setlocal', 'C:\\Tools\\CMake2.8\bin\\cmake.exe', 'C:/tb/Source/../']跨度> -
您的问题解决了吗?
标签: python xml newline minidom