Я хочу преобразовать xml данные в html. Ниже приведены данные примера xml, и я хочу получить / преобразовать его в формате html.
<content type="html"> <paragraph id="1291266887"> <div class="red"> <span id="main_post_id"> <p>ten post przedstawia jak wysłać znacznikóww ust <strong>Ling</strong> - xyz</p> <p>tags znane jako <span class="translation_section section_2">bezpieczne</span>, będą traktowane jako sekcje pkt</p> <p>innych materiałów dzielą się na <em>literach</em></p> </span> </div> </paragraph> </content>
т.е. я хочу получить весь html-код, содержащийся между <paragraph id="..."></paragraph>
. Я хочу сделать это с помощью php. Когда я преобразовываю его в массив с помощью php, он дает все данные в массиве div, p, span. Но я хочу, чтобы весь html содержался в <paragraph>..</paragraph>
в одном массиве.
Пожалуйста, помогите нам здесь. Позвольте мне знать, как это сделать.
Благодарю.
Напишите таблицу стилей XSLT для ее преобразования и расширение xslt, чтобы применить ее к XML.
Легко использовать xslt в PHP. Если вы получили xml в файле «data.xml» и xslt-script в «script.xsl», это все, что нужно сделать:
<?php $proc=new XsltProcessor; $proc->importStylesheet(DOMDocument::load("data.xsl")); echo $proc->transformToXML(DOMDocument::load("script.xml")); ?>
Простой xslt-скрипт может выглядеть так:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <html> <head> </head> <body> <xsl:copy-of select="//paragraph"/> </body> </html> </xsl:template> </xsl:stylesheet>
После запуска следующего кода на странице сохранения браузера, поэтому файл создается в два этапа
<?php $xml=simplexml_load_file("My_Xml.xml"); print_r($xml); ?>