私は、特定のタグの値を変更するためにlxmlを使用するpythonスクリプトを持っています。しかし私は、すべての3のためのタグが同じで、私は特定の日付に日付を変更する各異なる日付タイプ(出版、作成と改訂)については、次のXML同じタグを持つ複数の場所のxml値を変更する
<gmd:CI_Citation>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>**1900-01-01**</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="publication">Publication</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>**1900-01-01**</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation">Creation</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>**1900-01-01**</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="revision">Revision</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
</gmd:CI_Citation>
を持っている -
私は値を変更するには、次の機能を使用しています//:gmd_citation/:gmd_CI:Citation/:gmd_date/:gmd_CI_Date/:gmd_date/:gco_Date
def updateXMLTag (tag, value):
xmlValue = root.xpath(tag)
xmlValue[0].text = str(value)
何特定のタグに到達するためにxpathを使用する最善の方法ですので、値を変更することができますか?
XML入力は、 'gmd'と' gco' pr efixesは宣言されていません。 – mzjn
これはxmlの仕組みです。 (私はXML文書の一部のみを投稿していますが)。 – MapMan
私は何度もXMLの質問にコメントしました。名前空間を持つXML(コロンで区切られた接頭辞)は常にルートタグを含み、名前空間URIが定義されているところでは(xmlns = 'を検索します)。サンプル投稿を更新してください。 – Parfait