本文主要记录一下 php 中 DomDocument() 类的属性与方法功能介绍。

DOMDocument 类的属性

Attributes:存储节点的属性列表(只读)

childNodes:存储节点的子节点列表(只读)

dataType:返回此节点的数据类型

Definition:以DTD或XML模式给出的节点的定义(只读)

Doctype:指定文档类型节点(只读)

documentElement:返回文档的根元素(可读写)

firstChild:返回当前节点的第一个子节点(只读)

Implementation:返回XMLDOMImplementation对象

lastChild:返回当前节点最后一个子节点(只读)

nextSibling:返回当前节点的下一个兄弟节点(只读)

nodeName:返回节点的名字(只读)

nodeType:返回节点的类型(只读)

nodeTypedValue:存储节点值(可读写)

nodeValue:返回节点的文本(可读写)

ownerDocument:返回包含此节点的根文档(只读)

parentNode:返回父节点(只读)

Parsed:返回此节点及其子节点是否已经被解析(只读)

Prefix:返回名称空间前缀(只读)

preserveWhiteSpace:指定是否保留空白(可读写)

previousSibling:返回此节点的前一个兄弟节点(只读)

Text:返回此节点及其后代的文本内容(可读写)

url:返回最近载入的XML文档的URL(只读)

Xml:返回节点及其后代的XML表示(只读)

DOMDocument类的方法

appendChild:为当前节点添加一个新的子节点,放在最后的子节点后

cloneNode:返回当前节点的拷贝

createAttribute:创建新的属性

createCDATASection:创建包括给定数据的CDATA段

createComment:创建一个注释节点

createDocumentFragment:创建DocumentFragment对象

createElement:创建一个元素节点

createEntityReference:创建EntityReference对象

createNode:创建给定类型,名字和命名空间的节点

createPorcessingInstruction:创建操作指令节点

createTextNode:创建包括给定数据的文本节点

getElementsByTagName:返回指定名字的元素集合

hasChildNodes:返回当前节点是否有子节点

insertBefore:在指定节点前插入子节点

Load:导入指定位置的XML文档

loadXM:导入指定字符串的XML文档

removeChild:从子结点列表中删除指定的子节点

replaceChild:从子节点列表中替换指定的子节点

Save:把XML文件存到指定节点

selectNodes:对节点进行指定的匹配,并返回匹配节点列表

selectSingleNode:对节点进行指定的匹配,并返回第一个匹配节点

transformNode:使用指定的样式表对节点及其后代进行转换

transformNodeToObject:使用指定的样式表将节点及其后代转换为对象

php DOMDocument 实例代码:

<?php
// 将内容类型设置为XML,以便浏览器将其识别为XML。
header( "content-type: application/xml; charset=ISO-8859-15" );
// 创建文档。
$xml = new DOMDocument( "1.0", "ISO-8859-15" );
// 创建一些元素
$xml_album = $xml->createElement( "Album" );
$xml_track = $xml->createElement( "Track", "The ninth symphony" );
// 设置属性
$xml_track->setAttribute( "length", "0:01:15" );
$xml_track->setAttribute( "bitrate", "64kb/s" );
$xml_track->setAttribute( "channels", "2" );
// 创建另一个元素,只是为了显示可以添加任意数量的子级别。
$xml_note = $xml->createElement( "Note", "The last symphony composed by Ludwig van Beethoven." );
// 为当前节点添加一个新的子节点,放在最后的子节点后
$xml_track->appendChild( $xml_note );
$xml_album->appendChild( $xml_track );
// 创建一个元素节点
$xml_track = $xml->createElement( "Track", "Highway Blues" );
// 设置属性
$xml_track->setAttribute( "length", "0:01:33" );
$xml_track->setAttribute( "bitrate", "64kb/s" );
$xml_track->setAttribute( "channels", "2" );
// 为当前节点添加一个新的子节点,放在最后的子节点后
$xml_album->appendChild( $xml_track );
$xml->appendChild( $xml_album );
print $xml->saveXML();