Инструменты пользователя

Инструменты сайта


simplexml

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

simplexml [2019/02/28 21:20]
simplexml [2020/06/13 13:47] (текущий)
Строка 1: Строка 1:
 +====== Примеры использования SimpleXML ======
 +{{htmlmetatags>
 +metatag-description=(Расширение SimpleXML, которое объединено с PHP версии 5 и позволяет PHP страницам запрашивать, искать, изменять и переделывать XML в дружественном PHP синтаксисе.)
 +}}
  
 +{{ ::php-simplexml-xml-parsing.jpg?nolink&600 |}}
 +  * [[http://www.spravkaweb.ru/php/datafun/xml/simplexml|Справочник по PHP : Функции работы с данными : XML : SimpleXML]]
 +
 +Парсер **SimpleXML** для чтения/записи [[XML]] документов присутствует только в [[PHP]] начиная с версии 5. SimpleXML конвертирует XML- документ в объект. <note>SimpleXML лучше использовать только для чтения XML- документов, для всего остального [[DOM]] или SAX.</note>
 +====== Примеры использования ======
 +  * Примеры использования:<file php>
 +//Конвертируем XML-файл в объект
 +$sxml = simplexml_load_file("catalog.xml");
 +//Вывод названия первой книги
 +echo $sxml->book[0]->title;
 +//Изменение автора второй книги
 +$sxml->book[1]->author = "Вася Пупкин";
 +//Конвертируем объект в XML
 +$xmlContent = $sxml->asXML();
 +$sxml = <<<LABEL
 +<book>
 +<title>PHP</title>
 +<author>John Smit</author>
 +</book>
 +LABEL;
 +//Конвертируем XML-строку в объект
 +$sxml = simplexml_load_string($sxml);
 +</file>
 +====== Конвертирование Lingvo Tutor в HTML ======
 +
 +  * Пример. Вывод Lingvo Tutor x5 [[XML]]- документа в виде HTML<file php>
 +<?php
 +$sxml = simplexml_load_file('darkfire_dic_EN_RUEnRu.xml');
 +?>
 +<html>
 +    <head>
 +        <title>Каталог</title>
 +    </head>
 +    <body>
 +        <h1>Lingvo Tutor x5 XML в HTML</h1>
 +        <table border="1" width="100%">
 +            <tr>
 +                <th>English</th>
 +                <th>transcription</th>
 +                <th>Русский</th>
 +                <th>Примеры</th>
 +            </tr>
 +            <?php
 +            foreach ($sxml->card as $card) {
 +                echo "<tr>";
 +                echo "<td>" . $card->word . "</td>";
 +//$attrs=$card->meanings->meaning->attributes();// получаем все атрибуты var_dump($attrs);                
 +// получим значение атрибута transcription
 +                echo "<td>[" . $card->meanings->meaning['transcription'] . "]</td>"; 
 +                echo "<td>";
 +                $w = '';
 +                foreach ($card->meanings->meaning->translations->word as $word) {
 +                    echo $w.=$word . '; ';
 +                }
 +                echo $w . "</td>";
 +                echo "<td>" . $card->meanings->meaning->examples->example . "</td>";
 +                echo "</tr>";
 +            }
 +            ?> 
 +        </table>
 +    </body>
 +</html>
 +</file>