我正在使用 PHP DOMDocument 创建 XML 文件,并且这些 XML 文件不能包含换行符。
但是当我使用该方法时“保存 XML()",生成的 XML 在定义和初始标记之间有一个换行符,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe...
我可以在 DOMDocument 中纠正这个问题吗?或者我必须在生成 XML 后执行此操作?
我想纠正这个问题以获得这样的结果:
<?xml version="1.0" encoding="UTF-8"?><NFe xmlns="...
默认情况下,DOMDocument::$preserveWhiteSpace https://www.php.net/manual/en/class.domdocument.php#domdocument.props.preservewhitespace是真的。尝试在有问题的文档上将其设置为 false,然后调用saveXML
再次。如果文档中的任何空白确实很重要,这可能会产生副作用。您还应该确保DOMDocument::$formatOutput https://www.php.net/manual/en/class.domdocument.php#domdocument.props.formatoutput是假的。
不过,正如戈登所说,空白限制没有任何逻辑原因。不过说真的,如果您不想其中有任何空格,只需确保您想要保留的任何 CR/LF 字符都是实体编码的,然后$nonewlines = preg_replace("/[\r\n]/", '', $xml)
删除关闭“保留”和“格式”后可能保留的换行符。但话又说回来,那就是silly.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)