我有一个dictonary的值,如:
{'el salto': ['durango'], 'durango': ['durango', 'urbana'], 'jimenez': ['chihuahua'], 'gomez palacio': ['durango', 'urbana'], 'chihuahua': ['chihuahua', 'urbana'], 'santiago papasquiaro': ['durango'], 'lerdo': ['durango'], 'matamoros': ['coahuila'], 'nuevo ideal': ['durango'], 'canatlan': ['durango'], 'hidalgo del parral': ['chihuahua', 'urbana'], 'torreon': ['coahuila'], 'cuauhtemoc': ['chihuahua', 'urbana'], 'delicias': ['chihuahua', 'urbana', 'chihuahua'], 'villa union': ['durango'], 'vicente guerrero': ['durango'], 'meoqui': ['chihuahua'], 'guadalupe victoria': ['durango'], 'saucillo': ['chihuahua'], 'nuevo casas grandes': ['chihuahua', 'urbana'], 'camargo': ['chihuahua'], 'nombre de dios': ['durango'], 'juarez': ['chihuahua', 'urbana'], 'francisco i. madero': ['durango'], 'san pedro': ['coahuila']}
(有些人有“urbana”,有些人没有)
我需要过滤key在元素的标签“d_ciudad”中的结果,然后检查字典键是否与元素中的标签“d_estado”具有相同的值,并且如果'urbana'在键中定义字典,也由此过滤,我正在尝试以下代码:
from xml.etree.ElementTree import ElementTree
import csv
tree = ElementTree()
my_dict = dict()
# Test input
tree.parse("sample_in.xml")
with open('file1.csv', 'rb') as csv_file:
reader = csv.reader(csv_file)
my_dict = dict(reader)
for node in tree.findall('.//data'):
# Remove node if the name attribute value is not in inputID
if not node.attrib.get('d_ciudad').lower() in my_dict:
tree.getroot().remove(node)
else:
if not node.attrib.get('d_estado').lower() in my_dict[node.attrib.get('d_ciudad')]:
tree.getroot().remove(node)
else:
if 'urbana' in my_dict[node.attrib.get('d_ciudad').lower()]:
if node.attrib.get('d_zona').lower() != 'Urbano':
tree.getroot().remove(node)
# Do what you want with the modified xml
tree.write('sample_out.xml')
我收到的文件比它更大,并且有很多ns0:在里面。 XML就像:
INPUT
<NewDataSet><xsd:schema targetNamespace="NewDataSet" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" elementFormDefault="qualified"><xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd"/><xsd:element name="table"><xsd:complexType><xsd:sequence><xsd:element name="d_codigo" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_asenta" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="60"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_tipo_asenta" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="40"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="D_mnpio" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="50"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_estado" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_ciudad" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="50"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_CP" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_estado" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_oficina" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_CP" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_tipo_asenta" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_mnpio" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="id_asenta_cpcons" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="d_zona" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="40"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="c_cve_ciudad" minOccurs="0"><xsd:simpleType><xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="3082" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence></xsd:complexType></xsd:element></xsd:schema><table xmlns="NewDataSet"><d_codigo>01000</d_codigo><d_asenta>San Ángel</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0001</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01010</d_codigo><d_asenta>Los Alpes</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0005</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01020</d_codigo><d_asenta>Guadalupe Inn</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0006</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01030</d_codigo><d_asenta>Florida</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0010</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01030</d_codigo><d_asenta>Axotla</d_asenta><d_tipo_asenta>Pueblo</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>28</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0009</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01040</d_codigo><d_asenta>Campestre</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0012</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01048</d_codigo><d_asenta>Las Águilas</d_asenta><d_tipo_asenta>Unidad habitacional</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>31</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0013</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01049</d_codigo><d_asenta>Tlacopac</d_asenta><d_tipo_asenta>Pueblo</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>28</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0014</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01050</d_codigo><d_asenta>Ex-Hacienda de Guadalupe Chimalistac</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0016</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table><table xmlns="NewDataSet"><d_codigo>01060</d_codigo><d_asenta>San Ángel Inn</d_asenta><d_tipo_asenta>Colonia</d_tipo_asenta><D_mnpio>Álvaro Obregón</D_mnpio><d_estado>Ciudad de México</d_estado><d_ciudad>Ciudad de México</d_ciudad><d_CP>01001</d_CP><c_estado>09</c_estado><c_oficina>01001</c_oficina><c_CP></c_CP><c_tipo_asenta>09</c_tipo_asenta><c_mnpio>010</c_mnpio><id_asenta_cpcons>0018</id_asenta_cpcons><d_zona>Urbano</d_zona><c_cve_ciudad>01</c_cve_ciudad></table>
输出:
<NewDataSet xmlns:ns1="http://schemas.microsoft.com/sqlserver/2004/sqltypes" xmlns:ns2="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:schema elementFormDefault="qualified" targetNamespace="NewDataSet"><xs:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" /><xs:element name="table"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="d_codigo"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="5" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_asenta"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="60" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_tipo_asenta"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="40" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="D_mnpio"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="50" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_estado"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="35" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_ciudad"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="50" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_CP"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="5" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_estado"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="2" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_oficina"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="5" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_CP"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="5" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_tipo_asenta"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="2" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_mnpio"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="3" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="id_asenta_cpcons"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="4" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="d_zona"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="40" /></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="c_cve_ciudad"><xs:simpleType><xs:restriction base="sqltypes:nvarchar" ns1:localeId="3082" ns1:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth"><xs:maxLength value="2" /></xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:complexType></xs:element></xs:schema><ns2:table><ns2:d_codigo>01000</ns2:d_codigo><ns2:d_asenta>San Ángel</ns2:d_asenta><ns2:d_tipo_asenta>Colonia</ns2:d_tipo_asenta><ns2:D_mnpio>Álvaro Obregón</ns2:D_mnpio><ns2:d_estado>Ciudad de México</ns2:d_estado><ns2:d_ciudad>Ciudad de México</ns2:d_ciudad><ns2:d_CP>01001</ns2:d_CP><ns2:c_estado>09</ns2:c_estado><ns2:c_oficina>01001</ns2:c_oficina><ns2:c_CP /><ns2:c_tipo_asenta>09</ns2:c_tipo_asenta><ns2:c_mnpio>010</ns2:c_mnpio><ns2:id_asenta_cpcons>0001</ns2:id_asenta_cpcons><ns2:d_zona>Urbano</ns2:d_zona><ns2:c_cve_ciudad>01</ns2:c_cve_ciudad></ns2:table><ns2:table><ns2:d_codigo>01010</ns2:d_codigo><ns2:d_asenta>Los Alpes</ns2:d_asenta><ns2:d_tipo_asenta>Colonia</ns2:d_tipo_asenta><ns2:D_mnpio>Álvaro Obregón</ns2:D_mnpio><ns2:d_estado>Ciudad de México</ns2:d_estado><ns2:d_ciudad>Ciudad de México</ns2:d_ciudad><ns2:d_CP>01001</ns2:d_CP><ns2:c_estado>09</ns2:c_estado><ns2:c_oficina>01001</ns2:c_oficina><ns2:c_CP /><ns2:c_tipo_asenta>09</ns2:c_tipo_asenta><ns2:c_mnpio>010</ns2:c_mnpio><ns2:id_asenta_cpcons>0005</ns2:id_asenta_cpcons><ns2:d_zona>Urbano</ns2:d_zona><ns2:c_cve_ciudad>01</ns2:c_cve_ciudad></ns2:table><ns2:table><ns2:d_codigo>01020</ns2:d_codigo><ns2:d_asenta>Guadalupe Inn</ns2:d_asenta><ns2:d_tipo_asenta>Colonia</ns2:d_tipo_asenta><ns2:D_mnpio>Álvaro Obregón</ns2:D_mnpio><ns2:d_estado>Ciudad de México</ns2:d_estado><ns2:d_ciudad>Ciudad de México</ns2:d_ciudad><ns2:d_CP>01001</ns2:d_CP><ns2:c_estado>09</ns2:c_estado><ns2:c_oficina>01001</ns2:c_oficina><ns2:c_CP /><ns2:c_tipo_asenta>09</ns2:c_tipo_asenta><ns2:c_mnpio>010</ns2:c_mnpio><ns2:id_asenta_cpcons>0006</ns2:id_asenta_cpcons><ns2:d_zona>Urbano</ns2:d_zona><ns2:c_cve_ciudad>01</ns2:c_cve_ciudad></ns2:table>
答案 0 :(得分:0)
看起来你对XML术语有点困惑。我建议您阅读the relevant section of the Wikipedia article on XML以了解一些基础知识。基本上,有元素(例如<table>
),属性(例如ns1:localeId="3082"
)和名称空间,它们是元素和属性的有效前缀。此外,元素可以嵌套在其他元素中,然后您可以说某些元素有子元素或其他元素有父元素。
在您的情况下,看起来您对代码有正确的想法,除非您混淆了一些术语(以及可能如何在Python中使用XML API)。以下是您的代码的略微修改版本:
# Initialize my_dict just like you were doing up here.
tree.parse("sample_in.xml")
for table in tree.findall('.//{NewDataSet}table'):
# If any of the checks fail, delete the whole table element.
ciudad = table.find('./{NewDataSet}d_ciudad').text.lower().strip()
if ciudad not in my_dict:
print('ciudad: %s' % ciudad)
tree.getroot().remove(table)
continue
estado = table.find('./{NewDataSet}d_estado').text.lower().strip()
print('test: %s' % estado)
if estado not in my_dict[ciudad]:
print('estado: %s' % estado)
tree.getroot().remove(table)
continue
if 'urbana' in my_dict[ciudad]:
zona = table.find('./{NewDataSet}d_zona').text.lower().strip()
if zona != 'urbano':
print('zona: %s' % zona)
tree.getroot().remove(table)
continue
# Do what you want with the modified xml
tree.write('sample_out.xml')
您可能只对修改后的find
和findall
来电感兴趣。取basic XPath expressions并返回第一个节点或匹配的所有节点。值得注意的是,{NewDataSet}
部分指定了命名空间,后面的工作是(在这种情况下)元素的名称。
我还在结构上改变了一些代码,因此你的if
语句不那么嵌套,但这纯粹是装饰性的。