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 を初めて使用します。