我正在尝试将包含XML容器和纯文本的日志文件转换为纯文本。 这里是示例:
2019-5-9 08:38:51.122 MsgId= X'here some id' '<?xml version="1.0"?>
<REQUEST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<HEADER>
<SYSTEM_ID>123</SYSTEM_ID>
<REQUEST_ID>foo</REQUEST_ID>
<REQUEST_DATE>2019-02-10</REQUEST_DATE>
<REQUEST_TIME>08:38:50</REQUEST_TIME>
</HEADER>
<BODY>
<SYSTEM_DATE>20190210</SYSTEM_DATE>
</BODY>
</REQUEST>'
2019-5-9 08:38:51.123 MsgId= X'here some id' 'Start validation'
2019-5-9 08:38:51.124 MsgId= X'here some id' 'Status code here'
代码被剪掉
from xml.dom import minidom
mydoc = minidom.parse('/current.log')
print('SYSTEM_ID attribute:')
SYSTEM_ID = mydoc.getElementsByTagName('SYSTEM_ID')[0]
print(SYSTEM_ID.firstChild.data)
它总是会引发错误,因为日志文件包含文本行。
如何从文本和XML容器中提取所有值?