@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, и выбор между ними зависит от ваших предпочтений и задач.