Python 新手,我所做的只是解析一个简单的 xml 字符串。但是当我这样做时,Et.parse 上显示“没有这样的文件或目录”。我也尝试说
Et.parse(Et.fromstring(xmlfile))
但这仍然会导致略有不同的异常。请帮忙。
import xml.etree.ElementTree as ET
thisDict={}
def parseXML(xmlfile):
tree = ET.parse(xmlfile)
root=tree.getroot()
for package in root.findall('package'):
if package is None:
continue
if 'id' in package.attrib:
thisDict['package']=package.get('id')
if 'version' in package.attrib:
thisDict['version']=package.get('version')
for x, y in thisDict.items():
print(x, y)
xmlstr=f'''<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Castle.Core" version="5.1.1" targetFramework="net481" />
<package id="Moq" version="4.18.4" targetFramework="net481" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net481" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net481" />
<package id="xunit" version="2.4.2" targetFramework="net481" />
<package id="xunit.abstractions" version="2.0.3" targetFramework="net481" />
<package id="xunit.analyzers" version="1.0.0" targetFramework="net481" />
<package id="xunit.assert" version="2.4.2" targetFramework="net481" />
<package id="xunit.core" version="2.4.2" targetFramework="net481" />
<package id="xunit.extensibility.core" version="2.4.2" targetFramework="net481" />
<package id="xunit.extensibility.execution" version="2.4.2" targetFramework="net481" />
<package id="xunit.runner.visualstudio" version="2.4.5" targetFramework="net481" developmentDependency="true" />
</packages>'''
parseXML(xmlstr)