用php DomDocument save()到xml的麻烦

时间:2017-08-24 11:20:45

标签: php xml domdocument

当我使用php domDocument时输出文件有问题,输出是:

<node type="allow" tesst="text"/><node type="allow" text="test2"/>

我被期待

<node type="allow" tesst="text"/>
**<node type="allow" text="test2"/>

任何人都可以帮助我吗?

$xml = new DOMDocument("1.0","UTF-8"); 
$xml->load("../export/acl.conf.xml"); 
$rootTag = $xml->getElementsByTagName("list")->item(1); 
$dataTag = $xml->createElement("node"); 
$domAttr = $xml->createAttribute('type');
$domAttr->value = "{$acl_type}"; 
$domAt = $xml->createAttribute('cidr'); 
$domAt->value = "{$ipadd}/32"; 
//$domComent = $xml->createComment($_REQUEST['comment']); 
$dataTag->appendChild($domAttr); 
$dataTag->appendChild($domAt); 
$rootTag->appendChild($dataTag); 
$xml->save("../export/acl.conf.xml");

1 个答案:

答案 0 :(得分:0)

您编辑了答案,但没有提供您正在处理的XML示例!

也就是说,尝试结合使用DOMText:

<?php

$xml = new DOMDocument(); 

$node1 = $xml->createElement("node"); 
$node1->setAttribute('anything', 'whatever');

$text = new DOMText('**');

$node2 = $xml->createElement("node"); 
$node2->setAttribute('another', 'example');

$xml->appendChild($node1);
$xml->appendChild($text);
$xml->appendChild($node2);

echo $xml->saveXML();

哪个会输出:

<?xml version="1.0"?> 
<node anything="whatever"/>**<node another="example"/>

玩弄它!祝好运! https://3v4l.org/1kMMD