【问题标题】:Write raw xml in a SimpleXMLElement在 SimpleXMLElement 中写入原始 xml
【发布时间】:2016-01-11 21:36:25
【问题描述】:

我制作了一个SimpleXMLElement,我想在其中编写自己的XML,每当我编写XML 时,它都会返回< 和其他转义字符。使用XMLWriterwriteRaw 函数,我可以编写<a>a</a><b>b</b>,XML 文件将包含该确切字符串,不会以任何方式转义。

有没有办法我可以使用SimpleXMLElement 编写该字符串并让它返回确切的字符串,而不是转义。

我之前见过this question,但是我使用它的时候返回一个错误,我似乎无法修复它。

【问题讨论】:

标签: php


【解决方案1】:

SimpleXML 没有直接的这种能力,但它在DOM 系列函数中可用。幸运的是,在同一个 XML 文档上同时使用 SimpleXML 和 DOM 很容易。

下面的示例使用 文档片段 将几个元素添加到文档中。

<?php

$example = new SimpleXMLElement('<example/>');

// <example/> as a DOMElement
$dom = dom_import_simplexml($example);

// Create a new DOM document fragment and put it inside <example/>
$fragment = $dom->ownerDocument->createDocumentFragment();
$fragment->appendXML('<a>a</a><b>b</b>');
$dom->appendChild($fragment);

// Back to SimpleXML, it can see our document changes
echo $example->asXML();

?>

上面的例子输出:

<?xml version="1.0"?>
<example><a>a</a><b>b</b></example>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    相关资源
    最近更新 更多