Как извлечь значение XML-элемента по заданному атрибуту?

Как получить список изображений в XML-фиде, оставляя только те, у которых атрибут <b>tag</b> имеет значение <b>plan</b>? Приведенный код не возвращает изображения, и нужно понять, в чем причина.
  • 1 марта 2024 г. 20:28
Ответы на вопрос 2
Для извлечения значения XML-элемента по заданному атрибуту можно воспользоваться библиотекой для работы с XML в соответствующем языке программирования. Вот пример кода на Python, который позволяет получить список изображений из XML-файла, оставляя только те, у которых атрибут "tag" имеет значение "plan":

```python
import xml.etree.ElementTree as ET

tree = ET.parse('example.xml')
root = tree.getroot()

images = root.findall(".//image[@tag='plan']")

for image in images:
    print(image.attrib['src'])
```

При запуске этого кода будут выведены значения атрибута "src" у всех изображений, у которых атрибут "tag" равен "plan".

Что касается проблемы с кодом, который не возвращает изображения, возможно, что ошибка может быть связана с неправильно указанным путем к изображениям в XML-файле или с ошибкой в синтаксисе запроса XPath. Рекомендуется проверить правильность указания пути к элементам и атрибутам в XML-документе, а также корректность условий в запросе XPath.
ЕМНИП корень это DomDocument, а не корневой элемент 
-        $temp['image'] = $xml->xpath('/image[@tag="plan"]');
+        $temp['image'] = $xml->xpath('//image[@tag="plan"]');
Похожие вопросы