在DOM中使用的对象
你可能会觉得困惑,什么是一个DomNode。我们从这里开始讨论包含在DOM模型中的对象。DOM定义了五种对象:DomDocument, DomNode, DomAttribute, DomDtd, 和 DomNamespace。我们将把主要注意力集中在DomDocument和DomNode对象,因为他们是最常用的。
Node对象 下面是一个DomNode对象所包含内容的概览。
class DomNode properties: name content type methods: lastchild() children() parent() new_child( $name,$content ) getattr( $name ) setattr( $name,$value ) attributes() |
properties需要一些详细的说明。
·name 属性实际上是节点标记的名称。一个引用title标记的节点可能就是用'title'作为节点名。
·content 属性通常是空的。然而文本型节点使用这个属性来保存文本。
·type 属性是个常数,它明确定义了这个节点是什么类型的对象。有一些DomNode对象的类型。这些类型常数的列表可以从http://www.php.net/manual/ref.domXML.php在线获得。例如,一个包含文本内容的节点就可能有一个XML_TEXT_NODE的类型。
methods也需要解释一下。
·lastchild() 返回一个节点的最后一个子节点。
·parent() 返回一个节点的父节点。例如,我们这里title节点的父节点就是'book'。
·children() 返回一个包含某节点所有子节点的数组。例如,author节点的children就是'name'和'birthdate'。
·new_child() 增加一个新的子节点,包括一个名称和一些作为参数的内容。
·getattr()和setattr()都是用于处理属性的。一个是取得属性值,一个是设置属性值。
·attributes() 返回一个DomAttribute对象的数组。
DomDocument对象 DomDocument对象也是重要的。
class DomDocument properties: version encoding standalone type methods: root() children() add_root( $node ) dtd() dumpmem()
|
properties(属性)的名字就可以解释自身的含义。
·'version' 指文档的XML版本号。
·'encoding' 指文本的编码。
·'standalone' 是一个布尔值,它决定文档是否独立。
method(方法)也是相当简单的。
·root() 返回文档的根节点。如果我们载入前面的XML范例作为一个DomDocument对象,那么根节点就是'book'。
·children() 与DomNode中的children一样。
·add_root() 在XML文档中增加一个新的根节点。如果你想用一个其他节点来代替'book'节点,那么你就要用到这个方法了。
·dtd() 返回XML文档的dtd。
·dumpmem() 返回XML数据的字符串表示。译注:dumpmem()方法将整个DomDocument对象串行化为一个字符串,并返回。
由XMLtree()返回的DomDocument对象 XMLtree(),返回另一种类型的DomDocument对象,它可能会给你带来麻烦。这个对象没有方法,它用属性代替了方法。它有一个真正的树形结构。
class DomDocument properties: version encoding standalone name content type attributes children |
它很容易使用。例如,用不着使用一个方法去得到一个节点的子节点,只要访问它的'children'属性就可以了。同样,'children'和'attributes'属性都是数组。
其他的对象 我将列出其他对象以及它们的属性和方法作为参考。在这篇文章中,我们将用不到它们。
class Attribute properties: name content methods: name()
class Dtd properties: extid sysid name class Namespace |