我想使用查找属性来删除特定的xml元素。
这是我的xml文件示例
<domain type='kvm'>
<name>ptest</name>
<uuid>6119613e-4ba6-4be9-a1a2-9a33ca293341</uuid>
<description>Ubuntu 12.04.3 LTS</description>
<devices>
<emulator>/usr/bin/kvm-spice</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/ptest.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/iso/ubuntu-12.04.3-server-amd64.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/iso/freebsd-amd64.iso'/>
<target dev='hdd' bus='ide'/>
<readonly/>
</disk>
<devices>
</domain>
现在我想使用其属性source ='/ home / iso / ubuntu-12.04.3-server-amd64.iso'
删除磁盘块请你帮我解决这个问题。
欧麦尔
答案 0 :(得分:0)
假设您已经知道如何在python中使用XPath - 因为我没有 - ,您可以尝试使用以下XPath来获取此问题中描述的<disk>
元素:
//disk[source/@file='/home/iso/freebsd-amd64.iso']
这基本上选择了具有属性<disk>
值等于<source>
的子file
元素的所有'/home/iso/freebsd-amd64.iso'
元素。