[英]php DOMDocument - Get outer node and Protect <![CDATA[]] blocks as string
我有一个xml文件,其中一些节点有一个CDATA块,如下所示:
<item>
<content>OneWord</content>
</item>
<item>
<content><![CDATA[Some Text or Serialized arrays]]></content>
</item>
我试图让外部节点像下面这样:
$file = 'file.xml';
$contents = file_get_contents( $file );
$dom = new DOMDocument( '1.0', 'utf-8' );
$dom->loadXML( $contents, LIBXML_NOCDATA );
$xpath = new DOMXPath( $dom );
// -- get outer
$item = $xpath->query( './item' )->item(1);
$str = $dom->saveXML($item);
var_dump($str);
并且它打印不带CDATA块的项目节点,但我希望该节点具有CDATA块。
谢谢
它不是像删除LIBXML_NOCDATA
选项(“将CDATA作为文本节点合并 ”)那样简单吗?
为了我,
$dom = new DOMDocument( '1.0', 'utf-8' );
$dom->loadXML( $contents );
$xpath = new DOMXPath( $dom );
// -- get outer
$item = $xpath->query( './item' )->item(1);
$str = $dom->saveXML($item);
var_dump($str);
输出
string '<item>
<content><![CDATA[Some Text or Serialized arrays]]></content>
</item>' (length=78)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.