Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在xml文件的特定点插入xml_Php_Domdocument - Fatal编程技术网

Php 在xml文件的特定点插入xml

Php 在xml文件的特定点插入xml,php,domdocument,Php,Domdocument,我想在xml文件中插入以下行: <?xml-stylesheet type="text/xsl" href="http://example.com/livesearch.xsl"?> 紧接着: <?xml version="1.0" encoding="UTF-8" ?> 在我的xml文件中 目前我使用这种(糟糕的)方法: $G['xml']=str_replace('',$G['xml']); 在php中使用DomDocument的正确方法是什么 谢谢您要

我想在xml文件中插入以下行:

<?xml-stylesheet type="text/xsl" href="http://example.com/livesearch.xsl"?>

紧接着:

<?xml version="1.0" encoding="UTF-8" ?>

在我的xml文件中

目前我使用这种(糟糕的)方法:

$G['xml']=str_replace('',$G['xml']);
在php中使用DomDocument的正确方法是什么


谢谢

您要插入的行称为a。您可以将其与DOM一起添加,如下所示:

$dom = new DOMDocument();
$dom->loadXml('<?xml version="1.0" encoding="UTF-8" ?><root/>');

$dom->insertBefore(
    $dom->createProcessingInstruction(
        'xml-stylesheet',
        'type="text/xsl" href="http://example.com/livesearch.xsl"'
    ),
    $dom->documentElement
);
echo $dom->saveXml();
$dom=newdomdocument();
$dom->loadXml(“”);
$dom->insertBefore(
$dom->createProcessingInstruction(
“xml样式表”,
'type=“text/xsl”href='http://example.com/livesearch.xsl"'
),
$dom->documentElement
);
echo$dom->saveXml();
输出:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://example.com/livesearch.xsl"?>
<root/>

另一方面,使用
str_replace
可能会让人感觉不对劲,但如果它起作用……它就起作用了

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://example.com/livesearch.xsl"?>
<root/>