2014-01-09 3 views
0

У меня есть список изображений, которые я написал в xml, и я могу их запустить на xbmc.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, что если изображение включает идентификатор существует, то я хочу знаете, как я могу изменить изображение с помощью идентификатора?

+0

Вопросы, требующие кода, должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не работают и ожидаемые результаты. См. Также: [Контрольный список вопросов переполнения стека] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist). –

+0

Вам нужен синтаксический анализатор XML, чтобы получить строки (пути к файлам), затем вы можете проверить, существуют ли файлы с примерами [здесь] (http://stackoverflow.com/questions/82831/how-do-i-check-if -a-файлов существует, используя-питон). – Keeler

+0

@Keeler да, это то, что я пытаюсь сделать, чтобы получить строки через парсер XML. Извините, но я посмотрел ссылку, которую вы отправили, которая содержит много парсера, чтобы получить строки, и я не знаю, какой из них я должен использовать для синтаксического анализа XML. Не могли бы вы разместить пример XML-парсера, который я должен использовать? –

ответ

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 documentation.

+0

@Keeler Спасибо. У меня есть четыре изображения, которые запускаются в xbmc. Я хочу создать для оператора if, что если изображение существует, которое возвращается к true, то что-то делать? например. 'if os.path.exists ('Q: \\ resources \ skins \ Default \ media \ tvguide_yellow.png') == True:' Я пытался использовать его, но это не сработало. Есть идеи? –

Смежные вопросы