Я хочу проанализировать XML-файл DocBook с помощью PHP. SimpleXMLElement обрезает некоторые элементы разметки.
<section>
<title>SUSPEND</title>
<para>The <database>SUSPEND</database> command <quote>breaks</quote> the atomicity of the block in which it is located.</para>
<para>...</para>
</section>
Я использую этот код для разбора моих элементов para:
$paras = $xml->xpath("//*[starts-with(local-name(), 'para')]");
foreach($paras as $para) {
echo $para[0];
}
Это отрезает мою разметку
<database>SUSPEND</database> and <quote>breaks</quote>
в результате чего
The command the atomicity of the block in which it is located.
Но то, что мне нужно, это:
The <database>SUSPEND</database> command <quote>breaks</quote> the atomicity of the block in which it is located.
Итак, как я могу получить весь узел, включая его элементы, в виде строки?
Просто используйте asXML способ получить дерево с корнем в найденном элементе
foreach($paras as $para) {
echo $para->asXML();
}
Других решений пока нет …