【发布时间】:2020-12-08 18:00:59
【问题描述】:
我有一个这样的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<head>
<version>1.0</version>
<project>hello, world</project>
<date>2020-08-15</date>
</head>
<file name="helloworld.py"/>
<file name="helloworld.ps1"/>
<file name="helloworld.bat"/>
</data>
我需要抓取 head 元素中的数据,元素之间没有空格,像这样:
<version>1.0</version><project>hello, world</project><date>2020-08-15</date>
然后散列它。现在,我必须做一些字符串操作才能把它变成一行:
root = ET.parse('myfile.xml').getroot()
header = ET.tostring(root[0]).decode('utf-8')
import re
header = re.sub('\n','',header)
header = re.sub('>\s+<','><',header)
header = header.replace('<head>','')
header = header.replace('</head>','')
header = header.strip()
有没有更简单的方法来做到这一点? Powershell XML 对象有一个简单的 InnerXML 属性,该属性为您提供元素内的 XML,没有空格作为字符串。 Python 有没有一种方法可以使这更容易?
【问题讨论】:
标签: python xml removing-whitespace