<p>不要迭代元素并测试标记名和属性值,请尝试使用<a href="https://www.w3.org/TR/xpath-10/" rel="nofollow noreferrer">XPath</a>。在</p>
<p>通过使用<a href="https://www.w3.org/TR/xpath-10/#predicates" rel="nofollow noreferrer">predicate</a>(<code>[ ]</code>),我们可以轻松地选择我们需要的东西,而无需迭代。在</p>
<p>示例。。。在</p>
<p>**<strong>根据评论中的讨论更新了名称空间。</strong>**</p>
<p><strong>XML输入</strong>(输入.xml)在</p>
<pre class="lang-xml prettyprint-override"><code><gmd:citation xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco">
<gmd:CI_Citation>
<gmd:title xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:CharacterString>Conservation Areas</gco:CharacterString>
</gmd:title>
<gmd:alternateTitle gco:nilReason="missing" />
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>2018-07-24</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="publication" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" />
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>2013-11-15</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="creation" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" />
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>2016-11-11</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="revision" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" />
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:RS_Identifier>
<gmd:authority gco:nilReason="missing" />
<gmd:code>
<gco:CharacterString>0000</gco:CharacterString>
</gmd:code>
<gmd:codeSpace xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:CharacterString>abc</gco:CharacterString>
</gmd:codeSpace>
</gmd:RS_Identifier>
</gmd:identifier>
</gmd:CI_Citation>
</gmd:citation>
</code></pre>
<p><strong>Python</strong></p>
^{pr2}$
<p><strong>输出</strong></p>
<pre class="lang-xml prettyprint-override"><code><gmd:citation xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco">
<gmd:CI_Citation>
<gmd:title xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:CharacterString>Conservation Areas</gco:CharacterString>
</gmd:title>
<gmd:alternateTitle gco:nilReason="missing"/>
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>2018-07-24</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="publication" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>2013-11-15</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="creation" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:date>
<gmd:CI_Date>
<gmd:date xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:Date>NEW VALUE</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeListValue="revision" codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode"/>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:identifier>
<gmd:RS_Identifier>
<gmd:authority gco:nilReason="missing"/>
<gmd:code>
<gco:CharacterString>0000</gco:CharacterString>
</gmd:code>
<gmd:codeSpace xmlns:gml="http://www.opengis.net/gml" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<gco:CharacterString>abc</gco:CharacterString>
</gmd:codeSpace>
</gmd:RS_Identifier>
</gmd:identifier>
</gmd:CI_Citation>
</gmd:citation>
</code></pre>
<p><strong>重要信息:</strong>确保两个名称空间uri(<code>http://www.isotc211.org/2005/gmd</code>和{<cd3>})与xml中的内容完全匹配。注释中的uri是自动格式化的,因此“http://”部分不会显示。在</p>
<p>另外,<a href="https://lxml.de/xpathxslt.html#namespaces-and-prefixes" rel="nofollow noreferrer">see here</a>获取有关在lxml中对名称空间使用XPath的更多信息。在</p>