我正在尝试使用 ElementTree 解析 wsdl 文件,作为其中的一部分,我想从给定的 wsdl 定义元素中检索所有命名空间。
例如在下面的代码片段中,我试图检索定义标签中的所有命名空间
<?xml version="1.0"?>
<definitions name="DateService" targetNamespace="http://dev-b.handel-dev.local:8080/DateService.wsdl" xmlns:tns="http://dev-b.handel-dev.local:8080/DateService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:myType="DateType_NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
我的代码看起来像这样
import xml.etree.ElementTree as ET
xml_file='<path_to_my_wsdl>'
tree = xml.parse(xml_file)
rootElement = tree.getroot()
print (rootElement.tag) #{http://schemas.xmlsoap.org/wsdl/}definitions
print(rootElement.attrib) #targetNamespace="http://dev-b..../DateService.wsdl"
据我了解,在 ElementTree 中,命名空间 URI 与元素的本地名称相结合。如何从定义元素中检索所有命名空间条目?
感谢您对此的帮助
PS:我是python的新手(非常!)