Skip to content

XML 操作 - Dom

这个DOM扩展允许你操作 XML 文档通过 PHP 5 的DOM API

安装

此扩展需要libxml PHP扩展

定义常量

函数

DOMAttr — The DOMAttr class

DOMAttr类读取DOMElement对象中的属性

DOMAttr  extends DOMNode  {

    /* 属性 */

    public readonly string $name ;

    public readonly DOMElement $ownerElement ;

    public readonly bool $schemaTypeInfo ;

    public readonly bool $specified ;

    public string $value ;

    /* 方法 */

    public __construct ( string $name [, string $value ] )
        建立一个 DOMAttr 对象, 这个对象是只读的, 需要建立一个可读写的node, 使用 DOMDocument::createAttribute

    public bool isId ( void )
        检测属性是否是一个定义的ID

    /* 继承的方法 */

    DOMNode{}
}

DOMCdataSection — The DOMCdataSection class

Dom的Cdata属性

DOMCdataSection  extends DOMText  {

    /* Methods */

    public __construct ( string $value )
        // 建立一个新的 CDATA node

    /* Inherited methods */

    public bool DOMText::isWhitespaceInElementContent ( void )

    public DOMText DOMText::splitText ( int $offset )
}

DOMCharacterData — The DOMCharacterData class

用来操控文档数据节点,没有直接应用这个类的节点,但是其他节点继承了这个类

DOMCharacterData  extends DOMNode  {

    /* 属性 */
    public string $data ;

    readonly public int $length ;

    /* 方法 */

    void appendData ( string $data )
        添加数据放到节点的后边

    void deleteData ( int $offset , int $count )
        从节点中删除数据

    void insertData ( int $offset , string $data )
        删除数据

    void replaceData ( int $offset , int $count , string $data )
        替换数据

    string substringData ( int $offset , int $count )
        截取数据

    /* 继承的方法 */
    DOMNode{}

}

DOMComment — The DOMComment class

DOMComment  extends DOMCharacterData  {

    /* 方法 */

    public __construct ([ string $value ] )
        建立注释类

}

DOMDocument — The DOMDocument class

DOMDocument  extends DOMNode  {

    /* 属性 */

    readonly public string $actualEncoding ;

    readonly public DOMConfiguration $config ;

    readonly public DOMDocumentType $doctype ;

    readonly public DOMElement $documentElement ;

    public string $documentURI ;

    public string $encoding ;

    public bool $formatOutput ;

    readonly public DOMImplementation $implementation ;

    public bool $preserveWhiteSpace  = true ;

    public bool $recover ;

    public bool $resolveExternals ;

    public bool $standalone ;

    public bool $strictErrorChecking  = true ;

    public bool $substituteEntities ;

    public bool $validateOnParse  = false ;

    public string $version ;

    readonly public string $xmlEncoding ;

    public bool $xmlStandalone ;

    public string $xmlVersion ;

    /* 方法 */

    public __construct ([ string $version [, string $encoding ]] )
        建立一个新的DomDocument对象

    public DOMAttr createAttribute ( string $name )
        建立一个新属性

    public DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )
        建立一个具有命名空间的属性

    public DOMCDATASection createCDATASection ( string $data )
        建立CDATA 部分

    public DOMComment createComment ( string $data )
        建立注释

    public DOMDocumentFragment createDocumentFragment ( void )
        建立文档碎片

    public DOMElement createElement ( string $name [, string $value ] )
        建立元素

    public DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
        建立命名空间的元素

    public DOMEntityReference createEntityReference ( string $name )
        创建实体引用

    public DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
        创建PI

    public DOMText createTextNode ( string $content )
        建立text节点

    public DOMElement getElementById ( string $elementId )
        通过ID获取节点

    public DOMNodeList getElementsByTagName ( string $name )
        通过名称获取节点列表

    public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
        通过名称和命名空间获取列表

    public DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )
        导入节点到当前文档

    public mixed load ( string $filename [, int $options = 0 ] )
        从文件加载XML文档
        [Attention] 使用斜线(/)的Unix风格的路径可能会导致windows平台的错误,如果这样,调用realpath()函数来注意这个事情

    public bool loadHTML ( string $source [, int $options = 0 ] )
        加载HTML字串

    public bool loadHTMLFile ( string $filename [, int $options = 0 ] )
        加载HTML文件
        [Attention] 使用斜线(/)的Unix风格的路径可能会导致windows平台的错误,如果这样,调用realpath()函数来注意这个事情

    public mixed loadXML ( string $source [, int $options = 0 ] )
        加载XML字串

    public void normalizeDocument ( void )
        标准化文档

    public bool registerNodeClass ( string $baseclass , string $extendedclass )
        注册扩展类, 使用基本的节点类型

    public bool relaxNGValidate ( string $filename )
        运行 relaxNG 验证

    public bool relaxNGValidateSource ( string $source )
        relaxNG 验证字串

    public int save ( string $filename [, int $options ] )
        保存为文件

    public string saveHTML ([ DOMNode $node = NULL ] )
        保存为html字串

    public int saveHTMLFile ( string $filename )
        保存到HTML文件

    public string saveXML ([ DOMNode $node [, int $options ]] )
        返回xml字串

    public bool schemaValidate ( string $filename )
        语法验证文件

    public bool schemaValidateSource ( string $source )

        语法验证字串

    public bool validate ( void )
        验证

    public int xinclude ([ int $options ] )
        XIncludes

    /* 继承的方法 */

    DOMNode{}
}

DOMDocumentFragment — The DOMDocumentFragment class

DOMDocumentFragment  extends DOMNode  {

    /* 方法 */

    public bool appendXML ( string $data )
        添加原始xml数据

    /* 继承的方法 */
    DOMNode
}

DOMDocumentType — The DOMDocumentType class

DOMDocumentType  extends DOMNode  {

    /* 属性 */

    readonly public string $publicId ;

    readonly public string $systemId ;

    readonly public string $name ;

    readonly public DOMNamedNodeMap $entities ;

    readonly public DOMNamedNodeMap $notations ;

    readonly public string $internalSubset ;

    /* 继承的方法 */
    DOMNode

}

DOMElement — The DOMElement class

DOMElement  extends DOMNode  {

    /* 属性 */

    readonly public bool $schemaTypeInfo ;

    readonly public string $tagName ;

    /* 方法 */

    public __construct ( string $name [, string $value [, string $namespaceURI ]] )
        创建 新的 DOMElement 对象

    public string getAttribute ( string $name )
        获取属性值

    public DOMAttr getAttributeNode ( string $name )
        获取属性节点

    public DOMAttr getAttributeNodeNS ( string $namespaceURI , string $localName )
        返回具有命名空间的属性节点

    public string getAttributeNS ( string $namespaceURI , string $localName )
        返回具有命名空间的属性

    public DOMNodeList getElementsByTagName ( string $name )
        通过标签名获取dom节点

    public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
        通过标签名获取标签节点

    public bool hasAttribute ( string $name )
        检测是否存在某属性

    public bool hasAttributeNS ( string $namespaceURI , string $localName )
        是否具有命名空间的某属性

    public bool removeAttribute ( string $name )
        移除属性

    public bool removeAttributeNode ( DOMAttr $oldnode )
        移除属性节点

    public bool removeAttributeNS ( string $namespaceURI , string $localName )
        移除具有命名空间的属性

    public DOMAttr setAttribute ( string $name , string $value )
        设置属性

    public DOMAttr setAttributeNode ( DOMAttr $attr )
        设置属性节点

    public DOMAttr setAttributeNodeNS ( DOMAttr $attr )
        设置具有命名空间的属性

    public void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

    public void setIdAttribute ( string $name , bool $isId )

    public void setIdAttributeNode ( DOMAttr $attr , bool $isId )

    public void setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

    /* 继承的方法 */

    DOMNode

}

DOMEntity — The DOMEntity class

DOMEntity  extends DOMNode  {

    /* 属性 */

    readonly public string $publicId ;

    readonly public string $systemId ;

    readonly public string $notationName ;

    public string $actualEncoding ;

    readonly public string $encoding ;

    readonly public string $version ;

    /* 继承的方法 */
    DOMNode
}

DOMEntityReference — The DOMEntityReference class

DOMEntityReference  extends DOMNode  {

    /* 属性 */

    /* 方法 */

    public __construct ( string $name )

    /* 继承的方法 */

    DOMNode
}

DOMException — The DOMException class

DOMException  extends Exception  {

    /* 属性 */

    readonly public int $code ;

    /* 继承的方法 */

    Exception{}

}

DOMImplementation — The DOMImplementation class

DOMImplementation  {

    /* 属性 */

    /* 方法 */

    __construct ( void )

    public DOMDocument createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )
        建立一个DOMDocument对象

    public DOMDocumentType createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )
         建立文档类型

    public bool hasFeature ( string $feature , string $version )
         检测是否有特性
}

DOMNamedNodeMap — The DOMNamedNodeMap class

DOMNamedNodeMap  implements Traversable  {

    /* 属性 */

    readonly public int $length ;

    /* 方法 */

    DOMNode getNamedItem ( string $name )
        根据名称获取node

    DOMNode getNamedItemNS ( string $namespaceURI , string $localName )
        根据名称获取node节点

    DOMNode item ( int $index )
        根据索引获取条目
}

DOMNode — The DOMNode class

DOMNode  {

    /* 属性 */

    public readonly string $nodeName ;

    public string $nodeValue ;

    public readonly int $nodeType ;

    public readonly DOMNode $parentNode ;

    public readonly DOMNodeList $childNodes ;

    public readonly DOMNode $firstChild ;

    public readonly DOMNode $lastChild ;

    public readonly DOMNode $previousSibling ;

    public readonly DOMNode $nextSibling ;

    public readonly DOMNamedNodeMap $attributes ;

    public readonly DOMDocument $ownerDocument ;

    public readonly string $namespaceURI ;

    public string $prefix ;

    public readonly string $localName ;

    public readonly string $baseURI ;

    public readonly string $textContent ;

    /* 方法 */

    public DOMNode appendChild ( DOMNode $newnode )
        附加子元素

    public string C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
        规范化节点->字串

    public int C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )
        规范化节点->文件

    public DOMNode cloneNode ([ bool $deep ] )
        克隆节点

    public int getLineNo ( void )
        获取行号

    public string getNodePath ( void )
        获取节点路径

    public bool hasAttributes ( void )
        是否存在属性

    public bool hasChildNodes ( void )
        是否存在子节点

    public DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
        之前插入

    public bool isDefaultNamespace ( string $namespaceURI )
        是否是默认的命名空间

    public bool isSameNode ( DOMNode $node )
        是否是相同的节点

    public bool isSupported ( string $feature , string $version )
         是否支持某个特性

    public string lookupNamespaceURI ( string $prefix )
         查看命名空间

    public string lookupPrefix ( string $namespaceURI )
         查看命名空间的前缀

    public void normalize ( void )
         规范化

    public DOMNode removeChild ( DOMNode $oldnode )
         移除节点

    public DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
         替换节点
}

DOMNodeList — The DOMNodeList class

DOMNodeList  implements Traversable  {

    /* 属性 */

    readonly public int $length ;

    /* 方法 */

    DOMNode DOMNodelist::item ( int $index )
        获取节点
}

DOMNotation — The DOMNotation class

DOMNotation  extends DOMNode  {

    /* 属性 */

    readonly public string $publicId ;

    readonly public string $systemId ;

    /* 继承的方法 */

    DOMNode{}
}

DOMProcessingInstruction — The DOMProcessingInstruction class

DOMProcessingInstruction  extends DOMNode  {

    /* 属性 */

    readonly public string $target ;

    public string $data ;

    /* 方法 */

    public __construct ( string $name [, string $value ] )

    /* 继承的方法 */

    DOMNode
}

DOMText — The DOMText class

DOMText  extends DOMCharacterData  {

    /* 属性 */

    readonly public string $wholeText ;

    /* 方法 */

    public __construct ([ string $value ] )

    public bool isWhitespaceInElementContent ( void )
        是否包含空白

    public DOMText splitText ( int $offset )
        在指定的位置将这个节点一分为二

    /* 继承的方法 */

    DOMNode{}
}

DOMXPath — The DOMXPath class

DOMXPath  {

    /* 属性 */

    public DOMDocument $document ;

    /* 方法 */

    public __construct ( DOMDocument $doc )
       建立一个DOMXPath 对象

    public mixed evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
         执行给定的XPath表达式并且返回结果

    public DOMNodeList query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
        查询 DOMNode列表

    public bool registerNamespace ( string $prefix , string $namespaceURI )
        注册命名空间

    public void registerPhpFunctions ([ mixed $restrict ] )
        注册PHP函数作为Xpath函数
}

DOM 函数

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

从 SimpleXMLElement中转换为 DOMElement 对象


说明

创建时间: 2023-01-15 09:27:00 , 最后编辑于 2023-11-24 14:36:00