xbmc if image display statement

2019-08-31 03:07发布

I have the list of images that I wrote in xml and I can be able to run them on xbmc.

Here is the list of the images in the 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>

I want to know how do you write on if statement in python for xbmc that if the image include the id is exist then I want to know how I can change the image using the id?

1条回答
地球回转人心会变
2楼-- · 2019-08-31 04:01

Python comes with the xml module which has the useful ElementTree that will do what you need.

Here's an example of how to use it:

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))

Further reading: xml.etree.ElementTree documentation.

查看更多
登录 后发表回答