<GPO>
<Computer>
<ExtensionData>
<Extension xmlns:q1="http://www.microsoft.com/GroupPolicy/Settings/Security"
xsi:type="q1:SecuritySettings">
<q1:Account>
<q1:Name>ClearTextPassword</q1:Name>
<q1:SettingBoolean>false</q1:SettingBoolean>
<q1:Type>Password</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>MaximumPasswordAge</q1:Name>
<q1:SettingNumber>120</q1:SettingNumber>
<q1:Type>Password</q1:Type>
</q1:Account>
</Extension>
</ExtensionData>
</Computer>
</GPO>
您好,这是我当前保存到C:\XMLFile.XML中的XML文件。如何更改代码以提取每个<;问题1:客户>;使用Python3.8而不是仅仅通过标记名进行标记?我以前没有使用Python解析和阅读XML的经验
这是我目前的代码:
from xml.dom import minidom
xmlFile = minidom.parse("C:\GPOReportAD.xml")
computer = xmlFile.getElementsByTagName("Computer")[0]
extensionData = computer.getElementsByTagName("ExtensionData")[0]
for i in extensionData.getElementsByTagName("q1:Name"):
for x in extensionData.getElementsByTagName("q1:SettingBoolean"):
print("Result: " + i.firstChild.data + " " + x.firstChild.data)
break
预期产出:
ClearTextPassword false
MaxmimumPasswordAge 120
您正在处理一个使用名称空间的xml片段,这使事情变得有点复杂。我认为,最好的方法是使用lxml中的html(而不是xml)解析器,并使用xpath选择值:
输出:
相关问题 更多 >
编程相关推荐