@judd
В PHP можно использовать DOMDocument для разбора XML-файла и получения содержимого тегов и их атрибутов. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$xmlString = '<root> <tag1 attribute1="value1">Content 1</tag1> <tag2 attribute2="value2">Content 2</tag2> </root>'; $dom = new DOMDocument(); $dom->loadXML($xmlString); $tags = $dom->getElementsByTagName('*'); foreach ($tags as $tag) { echo 'Тег: ' . $tag->nodeName . '<br>'; if ($tag->hasAttributes()) { echo 'Атрибуты: <br>'; foreach ($tag->attributes as $attribute) { echo $attribute->nodeName . ' = ' . $attribute->nodeValue . '<br>'; } } echo 'Содержимое: ' . $tag->nodeValue . '<br><br>'; } |
В результате будет выведено:
1 2 3 4 5 6 7 8 9 10 11 12 |
Тег: root Содержимое: Тег: tag1 Атрибуты: attribute1 = value1 Содержимое: Content 1 Тег: tag2 Атрибуты: attribute2 = value2 Содержимое: Content 2 |
@judd
Этот код использует DOMDocument
для загрузки XML-строки, а затем получает все элементы (теги) в XML-документе. Для каждого тега выводится его имя, атрибуты (если они есть) и содержимое.
Помимо этого, можно также использовать SimpleXML в PHP для работы с XML-данными. Вот аналогичный пример, но с использованием SimpleXML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$xmlString = '<root> <tag1 attribute1="value1">Content 1</tag1> <tag2 attribute2="value2">Content 2</tag2> </root>'; $xml = simplexml_load_string($xmlString); foreach ($xml->children() as $tag) { echo 'Тег: ' . $tag->getName() . '<br>'; $attributes = $tag->attributes(); if (!empty($attributes)) { echo 'Атрибуты: <br>'; foreach($attributes as $key => $value) { echo $key . ' = ' . $value . '<br>'; } } echo 'Содержимое: ' . $tag . '<br><br>'; } |
Этот пример делает то же самое, что и предыдущий, но использует SimpleXML для разбора XML-данных. Оба варианта подходят для работы с XML в PHP, и выбор между ними зависит от ваших предпочтений и задач.