PHP 中的 WriteCData XMLWriter 和新行
WriteCData XMLWriter and new line in PHP
我正在尝试在 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();
但是输出没有 return 我写的任何新行 "\n"...
returns :
<test>my string my string</test>
而不是:
<test>my string
my string
</test>
我在其他帖子上看到一些用户使用“
”代码或“& #xD;” (没有 space)但是当我把它放在我的 $str 变量中时,那些字符被转义并且 XMLWriter 将它写为输出,并且不会换行。
你有什么想法吗?
非常感谢!
我认为没有简单的方法来格式化 PHP 的 XMLWriter 的输出,因为输出旨在机器可读,而不是人类可读。
虽然可以使用 XMLWriter::writeRaw 添加自定义换行符。
我正在尝试在 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();
但是输出没有 return 我写的任何新行 "\n"...
returns :
<test>my string my string</test>
而不是:
<test>my string
my string
</test>
我在其他帖子上看到一些用户使用“ ”代码或“& #xD;” (没有 space)但是当我把它放在我的 $str 变量中时,那些字符被转义并且 XMLWriter 将它写为输出,并且不会换行。
你有什么想法吗?
非常感谢!
我认为没有简单的方法来格式化 PHP 的 XMLWriter 的输出,因为输出旨在机器可读,而不是人类可读。 虽然可以使用 XMLWriter::writeRaw 添加自定义换行符。