python字符串解析不解析newline ch

2024-05-23 17:42:12 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,我尝试使用minidom从xml标记读取字符串。但无法检测已解析字符串的换行符。下面是我要解析的xml标记:

<Command>setlocal
C:\t\gfx\CMake2.8\bin\cmake.exe --check-stamp-file "C:\Source\Workspace\generate.stamp"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>

我的minidom解析代码是:

^{pr2}$

但这不起作用,尽管字符串在“setlocal”、“:cmEnd”、“:cmErrorLevel”等结尾有'\n'个字符。 我还试图对输入字符串进行编码:

path = path.encode('utf-8')

然后运行上面的代码,但这不起作用。 我也试过find('\\n'),但没用。在

有人能解决我的问题吗?在


Tags: 字符串代码标记ifstampxmlcommandneq
1条回答
网友
1楼 · 发布于 2024-05-23 17:42:12

当我在寻找解决类似问题的方法时,我看到了这一点。在

我将您的xml复制并粘贴到doc中,并将其保存为xml文件。在

然后我就这么做了

>>> xml = ('command.xml')
>>> xml_file = open(xml).read()
>>> xml_file 
'<Command>setlocal\nC:\\t\\gfx\\CMake2.8\\bin\\cmake.exe  check-stamp-file  "C:\\Source\\Workspace\\generate.stamp"\nif %errorlevel% neq 0 goto :cmEnd\n:cmEnd\nendlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone\n:cmErrorLevel\nexit /b %1\n:cmDone\nif %errorlevel% neq 0 goto :VCEnd</Command>'
>>> if '\n' in xml_file:
...     print '\\n found'
... 
\n found
>>> xml_file.count('\n')
8

这就是你要找的吗?如果你已经解决了,那么你用了什么解决方案?在

相关问题 更多 >