DOMElement
DOMElement DOMDocument::createElement ( string $name [, string $value ] )
創建節點元素
String $name:節點名
String $value:節點的值
8、 添加節點
•DOMNode DOMNode::appendChild ( DOMNode $newnode )
添加子節點
DOMNode $newnode:新節點
在dom操作中,增刪改操作必須依賴於父節點
9、 保存
•string DOMDocument::saveXML
保存至某個字符串中
•int DOMDocument::save ( string $filename )
保存至某個文件中
String $filename:文件名
10、 刪除節點
•DOMNode DOMNode::removeChild ( DOMNode $oldnode )
刪除節點
DOMNode $oldnode:要刪除的節點
11、 更新節點
•DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )
DOMNode $newnode:新節點
DOMNode $oldnode:原節點
12、 添加屬性
•DOMAttr DOMElement::setAttribute( string $name , string $value )
string $name :屬性名
string $value :屬性值
13、 修改屬性
DOMAttr DOMElement::setAttribute( string $name , string $value )
string $name :屬性名
string $value :屬性值
14、 刪除屬性
•bool DOMElement::removeAttribute ( string $name )
string $name:要刪除的屬性名稱
15、 獲取屬性
•string DOMElement::getAttribute ( string $name )
string $name:要獲取的屬性值的屬性名
DOMDocument還是PHP5後推出的DOM擴展的一部分,可用來建立或解析html/xml,目前只支持utf-8編碼。
代碼如下$xmlstring = <<<XML
<?xml version='1.0'?>
<document>
<cmd attr='default'>login</cmd>
<login>imdonkey</login>
</document>
XML;
$dom = new DOMDocument();
$dom->loadXML($xmlstring);
print_r(getArray($dom->documentElement));
function getArray($node) {
$array = false;
if ($node->hasAttributes()) {
foreach ($node->attributes as $attr) {
$array[$attr->nodeName] = $attr->nodeValue;
}
}
if ($node->hasChildNodes()) {
if ($node->childNodes->length == 1) {
$array[$node->firstChild->nodeName] = getArray($node->firstChild);
} else {
foreach ($node->childNodes as $childNode) {
if ($childNode->nodeType != XML_TEXT_NODE) {
$array[$childNode->nodeName][] = getArray($childNode);
}
}
}
} else {
return $node->nodeValue;
}
return $array;
}
SimpleXML
SimpleXML是PHP5後提供的一套簡單易用的xml工具集,可以把xml轉換成方便處理的對象,也可以組織生成xml數據。不過它不適用於包含namespace的xml,而且要保證xml格式完整(well-formed)。它提供了三個方法:simplexml_import_dom、simplexml_load_file、simplexml_load_string,函數名很直觀地說明了函數的作用。三個函數都返回SimpleXMLElement對象,數據的讀取/添加都是通過SimpleXMLElement操作
代碼如下
$string = <<<XML
<?xml version='1.0'?>
<document>
<