2009-10-06 57 views
1

我写$xml = new DOMDocument();它会自动创建<?xml version="1.0"?>。我需要不创建它。我怎么做?如何从输出中排除XML prolog?

一个解决方案是在找到的第一个<的索引处搜索第一个“>”和strsub。但我喜欢更好的方式来做到这一点。

+0

我需要,我发现了几个类似的问题(回答)这里: - HTTP://计算器.com/questions/5706086/php-domdocument-output-without-xml-version-1-0-encoding-utf-8 - efreedom我国技术问答我国技术问答关于我们|隐私权政策|联系我们这页的自动翻译英文-a-xml-is-created-in-php/17362351#17362351 - http://stackoverflow.com/questions/9260096/hide-xml-declaration-in-files-generated-using-php每个线程都有一个特定的解决方案这可能适合您的需求。 – hrvoj3e 2013-06-28 10:23:03

+0

如果您认为此问题与另一个问题重复,请将其标记为不要添加答案。 – 2013-06-28 12:30:24

回答

5

当你使用saveXML时,传入根元素作为node参数。只有根元素及其内容将被序列化,而不是任何XML声明,文档类型,注释或根之外的PI。

$doc->saveXML($doc->documentElement); 

或者,如果你需要其他的东西,却唯独没有多余的宣言:今天这个

$result= ''; 
foreach($document->childNodes as $node) 
    $result.= $document->saveXML($node)."\n";