0

我有我用 xml 编写的图像列表,我可以在 xbmc 上运行它们。

这是 xml 中的图像列表:

<?xml version="1.0" encoding="utf-8"?>
<window type="dialog">
    <allowoverlay>no</allowoverlay>
    <coordinates>
        <system>1</system>
        <posx>0</posx>
        <posy>0</posy>
    </coordinates>

<controls>
    <control type="image" id="1">
       <description>Image1</description>
       <posx>307</posx>
       <posy>7</posy>
       <width>164</width>
       <height>102</height>
       <visible>true</visible>
       <texturefocus>image1_blue.jpg</texturefocus>
       <texturenofocus>image1_yellow.jpg</texturenofocus>
       <onup>2</onup>
       <ondown>3</ondown>
       <onleft>1</onleft>
       <onright>1</onright>
    </control>

    <control type="image" id="2">
       <description>Image2</description>
       <posx>471</posx>
       <posy>7</posy>
       <width>201</width>
       <height>102</height>
       <visible>true</visible>
       <texturefocus>image2_yellow.jpg</texturefocus>
       <texturenofocus>image2_blue.jpg</texturenofocus>
       <onup>2</onup>
       <ondown>3</ondown>
       <onleft>1</onleft>
       <onright>1</onright>
    </control>

    <control type="image" id="4">
       <description>Image3</description>
       <posx>671</posx>
       <posy>7</posy>
       <width>177</width>
       <height>102</height>
       <visible>true</visible>
       <texturefocus>image3_yellow.jpg</texturefocus>
       <texturenofocus>image3_blue.jpg</texturenofocus>
       <onup>2</onup>
       <ondown>3</ondown>
       <onleft>1</onleft>
       <onright>1</onright>
    </control>

    <control type="image" id="6">
       <description>image4</description>
       <posx>848</posx>
       <posy>7</posy>
       <width>176</width>
       <height>102</height>
       <visible>true</visible>
       <texturefocus>image4_yellow.jpg</texturefocus>
       <texturenofocus>image4_blue.jpg</texturenofocus>
       <onup>2</onup>
       <ondown>3</ondown>
       <onleft>1</onleft>
       <onright>1</onright>
    </control>
</controls>
</window>

我想知道您如何在 xbmc 的 python 中的 if 语句上编写如果图像包含 id 存在,那么我想知道如何使用 id 更改图像?

4

1 回答 1

0

Python 附带的xml模块ElementTree可以满足您的需要。

以下是如何使用它的示例:

import xml.etree.ElementTree as ET

filename = 'name_of_the_xml_file.xml'
tree = ET.parse(filename)
root = tree.getroot()
controls = root.find('controls')

for control in controls.findall('control'):
    # Here are the image filenames, focus and nofocus.
    focus = control.find('texturefocus').text
    nofocus = control.find('texturenofocus').text
    print('texturefocus={0}, texturenofocus={1}'.format(focus, nofocus))

进一步阅读:xml.etree.ElementTree文档

于 2014-01-09T18:26:30.410 回答