‘.$obj->title.’

PHP5 SimpleXML Вывод

SimpleXML — это расширение PHP, которое позволяет легко манипулировать и получать XML данных.

PHP SimpleXML — Получить значения узлов

Получить значения узлов из файла «note.xml»:

Пример

$xml=simplexml_load_file(«note.xml») or die(«Ошибка: Невозможно создать объект»);
echo $xml->to . «
«;
echo $xml->from . «
«;
echo $xml->heading . «
«;
echo $xml->body;
?>

Вывод данных приведенного выше кода:

XML другой файл

Предположим, у нас есть XML файл «books.xml», он выглядит так:

PHP SimpleXML — Получить значение узлов определенных элементов

Следующий пример возвращает значение узла первого и второго элементов из и файла «books.xml»:

Пример

$xml=simplexml_load_file(«books.xml») or die(«Ошибка: Невозможно создать объект»);
echo $xml->book[0]->title . «
«;
echo $xml->book[1]->title;
?>

Вывод данных приведенного выше кода:

PHP SimpleXML — Получить значения узлов — цикл

Следующий пример перебирает все элементы в файле «books.xml», и получает значения узла элементов , , , и :

Пример

$xml=simplexml_load_file(«books.xml») or die(«Ошибка: Невозможно создать объект»);
foreach($xml->children() as $books) <
echo $books->title . «, «;
echo $books->author . «, «;
echo $books->year . «, «;
echo $books->price . «
«;
>
?>

Вывод данных приведенного выше кода:

Everyday Italian, Giada De Laurentiis, 2005, 30.00
Harry Potter, J K. Rowling, 2005, 29.99
XQuery Kick Start, James McGovern, 2003, 49.99
Learning XML, Erik T. Ray, 2003, 39.95

PHP SimpleXML — Получить значения атрибутов

Следующий пример возвращает значение атрибута «category» из первого элемента и значение атрибута «lang» из атрибута во втором элементе :

Пример

$xml=simplexml_load_file(«books.xml») or die(«Ошибка: Невозможно создать объект»);
echo $xml->book[0][‘category’] . «
«;
echo $xml->book[1]->title[‘lang’];
?>

Вывод данных приведенного выше кода:

PHP SimpleXML — Получить значения атрибутов — цикл

В следующем примере получены значения атрибутов элементов файла «books.xml»:

Пример

$xml=simplexml_load_file(«books.xml») or die(«Ошибка: Невозможно создать объект»);
foreach($xml->children() as $books) <
echo $books->title[‘lang’];
echo «
«;
>
?>

Вывод данных приведенного выше кода:

PHP SimpleXML Справочник

Для получения дополнительной информации о функциях PHP SimpleXML, посетите наш PHP SimpleXML Справочник.

Мы только что запустили
SchoolsW3 видео

ВЫБОР ЦВЕТА

colorpicker

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:

Читайте также:  Python error oserror errno 13 permission denied

Ваше предложение:

Спасибо Вам за то, что помогаете!

Ваше сообщение было отправлено в SchoolsW3.

ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат

SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.

Источник

Работа с XML средствами PHP

Давайте начнем с самого простого: загрузки и выгрузки XML-документа с использованием DOM. Основной класс, который мы будем использовать, это DOMDocument. Через него можно создавать новые документы, сохранять их, а также загружать существующие.

 // Создаём XML-документ версии 1.0 с кодировкой utf-8 $dom = new DOMDocument('1.0', 'utf-8'); // Текст XML-документа $strXML = 'ПервыйВторой'; // Загружаем XML-документ из строки $dom->loadXML($strXML); /* // Загружаем XML-документ из файла $dom->load('doc.xml'); // Убираем лишние пробелы и отступы $dom->preserveWhiteSpace = false; */ // Сохраняем XML-документ как строку и выводим в браузер $xml = $dom->saveXML(); echo htmlspecialchars($xml); // Сохраняем XML-документ в файл $dom->save('doc.xml'); ?>

Как получить список дочерних узлов

 // Создаём XML-документ $dom = new DOMDocument('1.0', 'utf-8'); // Текст XML-документа $strXML = 'ПервыйВторой'; // Загружаем XML-документ из строки $dom->loadXML($strXML); // Получаем корневой элемент $root = $dom->documentElement; // Получаем список дочерних узлов $childs = $root->childNodes; for ($i = 0; $i  $childs->length; $i++)  $child = $childs->item($i); // Выводим информацию об узле echo $child->nodeName . ' : ' . $child->nodeValue . '
'
; > ?>

Свойство nodeName содержит название элемента (в данном случае, item ), а nodeValue содержимое элемента (в данном случае, « Первый » и « Второй »).

Работа с атрибутами узлов

Давайте посмотрим, как получить значение атрибута узла, устанавить новое значение, создать и удалить атрибут:

 // Создаём XML-документ $dom = new DOMDocument('1.0', 'utf-8'); // Текст XML-документа $strXML = 'ПервыйВторойТретий'; // Загружаем XML-документ из строки $dom->loadXML($strXML); // Получаем корневой элемент $root = $dom->documentElement; // Первый дочерний элемент $first = $root->firstChild; // Следующий сестринский элемент $second = $first->nextSibling; // Последний дочерний элемент $third = $root->lastChild; // Выводим информацию о первом дочернем элементе echo 'Элемент ' . $first->nodeName . ', значение «' . $first->nodeValue . '», атрибут id'); // Устанавливаем атрибут id для второго дочернего элемента $second->setAttribute('id', 2); // Устанавливаем атрибут id для третьего дочернего элемента $attr = $dom->createAttribute('id'); $attr->value = 3; $third->appendChild($attr); // Удаляем атрибут id для третего дочернего элемента if ( $third->hasAttribute('id') ) $third->removeAttribute('id'); ?>

Создание XML-документа

 // Создаём XML-документ $dom = new DOMDocument('1.0', 'utf-8'); // Создаём корневой элемент $root = $dom->createElement('users'); $dom->appendChild($root); $users = array( array('id' => 1, 'name' => 'Николай Петров', 'email' => 'petrov.n@mail.ru'), array('id' => 2, 'name' => 'Петр Иванов', 'email' => 'ivanov.p@mail.ru'), array('id' => 3, 'name' => 'Сергей Смирнов', 'email' => 'smirnov.s@mail.ru') ); foreach ( $users as $value )  // Создаём узел $user = $dom->createElement('user'); // Добавляем дочерний элемент для $root->appendChild($user); // Устанавливаем атрибут id для узла $user->setAttribute('id', $value['id']); // Создаём узел с текстом внутри $name = $dom->createElement('name', $value['name']); // Добавляем дочерний элемент для $user->appendChild($name); // Создаём узел $email = $dom->createElement('email'); // Создаем текстовой узел $text = $dom->createTextNode($value['email']); // Создаем текстовой узел внутри конструкции // $text = $dom->createCDATASection($value['email']); // Добавляем текстовой узел для $email->appendChild($text); // Добавляем дочерний элемент для $user->appendChild($email); > // Сохраняем полученный XML-документ в файл $dom->save('users.xml'); ?>

Содержимое файла users.xml:

  Николай Петров petrov.n@mail.ru  Петр Иванов ivanov.p@mail.ru  Сергей Смирнов smirnov.s@mail.ru  

Извлечение данных из xml-документа

Давайте теперь извлечем данные из документа users.xml обратно в массив:

 // Создаём XML-документ $dom = new DOMDocument('1.0', 'utf-8'); // Загружаем XML-документ из файла $dom->load('users.xml'); // Получаем корневой элемент $root = $dom->documentElement; // Получаем дочерние элементы корневого элемента $users = $root->childNodes; // Перебираем полученные элементы foreach ($users as $user)  // Получаем значение атрибута id узла $id = $user->getAttribute('id'); // Получаем дочерние элементы узла $info = $user->childNodes; // Получаем значение узла $name = $info->item(0)->nodeValue; // Получаем значение узла $email = $info->item(1)->nodeValue; // Записываем данные в массив $array[] = array('id' => $id, 'name' => $name, 'email' => $email); > print_r($array); ?>
Array ( [0] => Array ( [id] => 1 [name] => Николай Петров [email] => petrov.n@mail.ru ) [1] => Array ( [id] => 2 [name] => Петр Иванов [email] => ivanov.p@mail.ru ) [2] => Array ( [id] => 3 [name] => Сергей Смирнов [email] => smirnov.s@mail.ru ) )

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • 1С:Предприятие (31)
  • API (29)
  • Bash (43)
  • CLI (99)
  • CMS (139)
  • CSS (50)
  • Frontend (75)
  • HTML (66)
  • JavaScript (150)
  • Laravel (72)
  • Linux (146)
  • MySQL (76)
  • PHP (125)
  • React.js (66)
  • SSH (27)
  • Ubuntu (68)
  • Web-разработка (509)
  • WordPress (73)
  • Yii2 (69)
  • БазаДанных (95)
  • Битрикс (66)
  • Блог (29)
  • Верстка (43)
  • ИнтернетМагаз… (84)
  • КаталогТоваров (87)
  • Класс (30)
  • Клиент (27)
  • Ключ (28)
  • Команда (68)
  • Компонент (60)
  • Конфигурация (62)
  • Корзина (32)
  • ЛокальнаяСеть (28)
  • Модуль (34)
  • Навигация (31)
  • Настройка (140)
  • ПанельУправле… (29)
  • Плагин (33)
  • Пользователь (26)
  • Практика (99)
  • Сервер (74)
  • Событие (27)
  • Теория (105)
  • Установка (66)
  • Файл (47)
  • Форма (58)
  • Фреймворк (192)
  • Функция (36)
  • ШаблонСайта (68)

Источник

Вывод из php в xml

Как можно это реализовать? И самое интересное, что каждый раз при запросе php-кода вывод будет разным. Придется создавать xml-файл, а потом удалять его?

Php xml
Здравствуйте господа. Я отправляю следующеее на сервер <?xml version="1.0" encoding="UTF-8"?>.

XML + PHP
Добрый вечер. Есть хмл файл <title> <name Киев </name> <name.

HTML и XML в PHP
Нужно ли совмещать HTML и XML, в PHP, при создание документа? PHP генерирует XML и HTML, а есть.

Вывод XML в PHP
Ребят всем доброго времени суток, столкнулся с такой проблемой: <?xml version="1.0".

Лучший ответ

Сообщение было отмечено MichaelPak как решение

Решение

Если в БД есть табличка topics с полями
date, user, age, title и message, тогда

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
 header('Content-type: text/xml'); . $sql = 'SELECT * FROM `topics`'; $res = $this->db->query($sql); while($obj = $res->fetch_object()){ $data .= '  '.$obj->date.' '.$obj->user.' '.$obj->age.'  '.$obj->message.'  '; } $data = ''.$data.''; $xml = ''.$data; // выводим на печать print($xml); ?>

Вывод данных PHP в XML формате
Здравствуйте. Подскажите, как сделать, чтобы при открытии php файла возвращался результат в XML.

Вывод числа из сгенерированного с помощью php xml
Помогите вывести xml во флеш в текстовое поле! нужно что-бы вывело .$rating. echo ‘<?xml.

Отправка формы в php без перегрузки страницы и вывод php кода
У меня есть файл с js и формой, а также php файл. Надо отправить данные из формы в php, обработать.

Источник

Оцените статью