-1
私はこのXMLをPythonでxml.dom.minidomを使って編集しようとしていますが、変更する必要のある値に到達する方法がわかりません。私は "customGetCapabilities" の値を "true" に変更し、 "pathToCustomGetCapabilitiesFiles" でURLを指定したいと思い、ここ以内PythonでXMLを編集する
私は、
<SVCExtension xsi:type="typens:SVCExtension">
<Enabled>true</Enabled>
<Info xsi:type="typens:PropertySet">
<PropertyArray xsi:type="typens:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>WebEnabled</Key>
<Value xsi:type="xs:string">true</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>WebCapabilities</Key>
<Value xsi:type="xs:string">GetCapabilities,GetMap,GetFeatureInfo,GetStyles,GetLegendGraphic,GetSchemaExtension</Value>
</PropertySetProperty>
</PropertyArray>
</Info>
<Props xsi:type="typens:PropertySet">
<PropertyArray xsi:type="typens:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>onlineResource</Key>
<Value xsi:type="xs:string">*censored url*</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>customGetCapabilities</Key>
<Value xsi:type="xs:string">false</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>pathToCustomGetCapabilitiesFiles</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>pathToCustomSLDFile</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>inheritLayerNames</Key>
<Value xsi:type="xs:string">false</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>name</Key>
<Value xsi:type="xs:string">WMS</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>title</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>abstract</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>keyword</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactPerson</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactPosition</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactOrganization</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>address</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>addressType</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>city</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>stateOrProvince</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>postCode</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>country</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactVoiceTelephone</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactFacsimileTelephone</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>contactElectronicMailAddress</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>fees</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
<PropertySetProperty xsi:type="typens:PropertySetProperty">
<Key>accessConstraints</Key>
<Value xsi:type="xs:string" />
</PropertySetProperty>
</PropertyArray>
</Props>
<TypeName>WMSServer</TypeName>
</SVCExtension>
今()doc.getElementsByTagNameすることによって、このチャンクにアクセスします。
誰かが私にこれらの値を解析する方法を教えてもらえますか?ありがとうございます
特定の質問をする必要があります。 ElementTreeでXMLを解析してみてください。これは使いやすく、よく文書化されており、豊富な機能を持っています –
ElementTreeを使って調べました。しかし、それはXMLを書き直す際に多くの問題を追加します。それはxmlを書き戻す前に名前空間を取り除いているようですが、これはやりたくありません。 – calk93
ElementTree(または特にlxml.etree)が不正確に往復する場合、それは驚くべきことです(後者の場合は非常に驚異的です)。そして別の質問の根拠です。 –