WriteCData XMLWriter和PHP中的新行

时间:2016-01-05 10:45:55

标签: php xml cdata xmlwriter

我试图在PHP中使用XMLWriter在CData节点中添加新行。

$xml = new XMLWriter(); 
$xml->openURI('php://output'); 
$xml->startDocument('1.0', 'UTF-8'); 
$xml->setIndent(true);

$str = "my string\nmy string";
$xml->startElement('test');
$xml->writeCData($str);
$xml->endElement();
$xml->endDocument();

但是输出并没有像我写的那样返回任何新行" \ n" ...

返回:

<test>my string    my string</test>

而不是:

<test>my string
my string
</test>

我在其他帖子上看到有些用户使用&#34;&amp; #10;&#34;代码或&#34;&amp; #xD;&#34; (没有空格)但是当我把它放在我的$ str变量中时,这些字符被转义并且XMLWriter将其写为输出,并且不会创建新行。

你有什么想法吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我相信没有简单的方法来格式化PHP的XMLWriter的输出,因为输出是机器可读的,而不是人类可读的。 也许可以使用cssIgnoreRow option添加自定义换行符。