最人們使用DOMElement::setAttribute()
或DOMElement::setAttributeNS()
這個方法。
$xml = <<<XML
<elements>
<element name="agents" path="admin/agents" scope="system">
...
</element>
</elements>
XML;
$document = new DOMDocument();
$document->loadXML($xml);
$xpath = new DOMXpath($document);
foreach ($xpath->evaluate('//element[1]') as $element) {
$element->setAttribute('visibility', 'hidden');
}
echo $document->saveXML();
輸出:
<?xml version="1.0"?>
<elements>
<element name="agents" path="admin/agents" scope="system" visibility="hidden">
...
</element>
</elements>
然而屬性的節點,太。因此,您可以使用DOMDocument::createAttribute()
創建它們,並使用DOMElement::setAttributeNode()
進行設置。這允許將創建與作業分開。
foreach ($xpath->evaluate('//element[1]') as $element) {
$attribute = $document->createAttribute('visibility');
$attribute->value = 'hidden';
$element->setAttributeNode($attribute);
}
來源
2016-03-23 14:07:47
ThW