`
l120974020
  • 浏览: 60765 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

pyhon的element 对象和document 对象的说明

 
阅读更多

 

Document 对象代表整个 XML 文档。

Document 对象

Document 对象是一棵文档树的根,可为我们提供对文档数据的最初(或最顶层)的访问入口。

用于元素节点、文本节点、注释、处理指令等均无法存在于 document 之外,document 对象同样提供了创建这些对象的方法。Node 对象提供了一个 ownerDocument 属性,此属性可把它们与在其中创建它们的 Document 关联起来。

IE: Internet Explorer, F: Firefox, O: Opera, W3C: 万维网联盟 (因特网标准)

Document 对象的属性

属性 描述 IE F O W3C
async 规定 XML 文件的下载是否应当被同步处理。 5 1.5 9 No
childNodes 返回属于文档的子节点的节点列表。 5 1 9 Yes
doctype 返回与文档相关的文档类型声明 (DTD)。 6 1 9 Yes
documentElement 返回文档的根节点 5 1 9 Yes
documentURI 设置或返回文档的位置 No 1 9 Yes
domConfig 返回normalizeDocument()被调用时所使用的配置     No Yes
firstChild 返回文档的首个子节点 5 1 9 Yes
implementation 返回处理该文档的 DOMImplementation 对象。 No 1 9 Yes
inputEncoding 返回用于文档的编码方式(在解析时)。 No 1 No Yes
lastChild 返回文档的最后一个子节点。 5 1 9 Yes
nodeName 依据节点的类型返回其名称。 5 1 9 Yes
nodeType 返回节点的节点类型。 5 1 9 Yes
nodeValue 根据节点的类型来设置或返回节点的值。 5 1 9 Yes
strictErrorChecking 设置或返回是否强制进行错误检查。 No 1 No Yes
text 返回节点及其后代的文本(仅用于 IE)。 5 No No No
xml 返回节点及其后代的 XML(仅用于 IE)。 5 No No No
xmlEncoding 返回文档的编码方法。 No 1 No Yes
xmlStandalone 设置或返回文档是否为 standalone。 No 1 No Yes
xmlVersion 设置或返回文档的 XML 版本。 No 1 No Yes

Document 对象的方法

属性 描述 IE F O W3C
adoptNode(sourcenode) 从另一个文档向本文档选定一个节点,然后返回被选节点。     No Yes
createAttribute(name) 创建拥有指定名称的属性节点,并返回新的 Attr 对象。 6 1 9 Yes
createAttributeNS(uri,name) 创建拥有指定名称和命名空间的属性节点,并返回新的 Attr 对象。     9 Yes
createCDATASection() 创建 CDATA 区段节点。 5 1 9 Yes
createComment() 创建注释节点。 6 1 9 Yes
createDocumentFragment() 创建空的 DocumentFragment 对象 ,并返回此对象。 5 1 9 Yes
createElement() 创建元素节点。 5 1 9 Yes
createElementNS() 创建带有指定命名空间的元素节点。 No 1 9 Yes
createEvent() 创建新的 Event 对象。       Yes
createEntityReference(name) 创建 EntityReference 对象,并返回此对象。 5   No Yes
createExpression() 创建一个XPath表达式以供稍后计算。       Yes
createProcessingInstruction(target,data) 创建 ProcessingInstruction 对象,并返回此对象。 5   9 Yes
createRange() 创建 Range 对象,并返回此对象。 No     Yes
evaluate() 计算一个 XPath 表达式。 No 1 9 Yes
createTextNode() 创建文本节点。 5 1 9 Yes
getElementById() 查找具有指定的唯一 ID 的元素。 5 1 9 Yes
getElementsByTagName() 返回所有具有指定名称的元素节点。 5 1 9 Yes
getElementsByTagNameNS() 返回所有具有指定名称和命名空间的元素节点。 No 1 9 Yes
importNode() 把一个节点从另一个文档复制到该文档以便应用。     9 Yes
loadXML() 通过解析XML标签字符串来组成文档。        
normalizeDocument()       No Yes
renameNode() 重命名元素或者属性节点。     No Yes

 

Element 对象表示 XML 文档中的元素。

Element 对象

Element 对象表示 XML 文档中的元素。元素可包含属性、其他元素或文本。如果元素含有文本,则在文本节点中表示该文本。

重要事项: 文本永远存储在文本节点中。在 DOM 处理过程中的一个常见的错误是,导航到元素节点,并认为此节点含有文本。不过,即使最简单的元素节点之下也拥有文本节点。举例,在 <year>2005</year> 中,有一个元素节点(year),同时此节点之下存在一个文本节点,其中含有文本(2005)。

由于元素对象也是一种节点,因此它可继承 Node 对象的属性和方法。

Element 对象的属性

属性 描述 IE F O W3C
attributes 返回元素的属性的 NamedNodeMap 5 1 9 Yes
baseURI 返回元素的绝对基准 URI No 1 No Yes
childNodes 返回元素的子节点的 NodeList 5 1 9 Yes
firstChild 返回元素的首个子节点 5 1 9 Yes
lastChild 返回元素的最后一个子节点 5 1 9 Yes
localName 返回元素名称的本地部分 No 1 9 Yes
namespaceURI 返回元素的命名空间 URI No 1 9 Yes
nextSibling 返回元素之后紧跟的节点 5 1 9 Yes
nodeName 返回节点的名称,依据其类型。 5 1 9 Yes
nodeType 返回节点的类型 5 1 9 Yes
ownerDocument 返回元素所属的根元素 (document 对象) 5 1 9 Yes
parentNode 返回元素的父节点 5 1 9 Yes
prefix 设置或返回元素的命名空间前缀 No 1 9 Yes
previousSibling 返回元素之前紧随的节点 5 1 9 Yes
schemaTypeInfo 返回与元素相关联的类型信息     No Yes
tagName 返回元素的名称 5 1 9 Yes
textContent 设置或返回元素及其后代的文本内容 No 1 No Yes
text 返回节点及其后代的文本 (IE-only) 5 No No No
xml 返回节点及其后代的 XML (IE-only) 5 No No No

Element 对象的方法

方法 描述 IE F O W3C
appendChild() 向节点的子节点列表末尾添加新的子节点。 5 1 9 Yes
cloneNode() 克隆节点。 5 1 9 Yes
compareDocumentPosition() 比较两节点的文档位置。 No 1 No Yes
dispatchEvent() 给节点分派一个合成事件。 5 1 9 Yes
getAttribute() 返回属性的值。 5 1 9 Yes
getAttributeNS() 返回属性的值。 No 1 9 Yes
getAttributeNode() 以 Attribute 对象返回属性节点。 5 1 9 Yes
getAttributeNodeNS() 以 Attribute 对象返回属性节点。 No   9 Yes
getElementsByTagName() 找到具有指定标签名的子孙元素。 5 1 9 Yes
getElementsByTagNameNS() 找到具有指定标签名和命名空间的元素。 No 1 9 Yes
getFeature(feature,version) 返回 DOM 对象,此对象可执行拥有指定特性和版本的专门的 API。     No Yes
getUserData(key) 返回关联节点上键的对象。此对象必须首先通过使用相同的键来调用 setUserData 来设置到此节点。     No Yes
hasAttribute() 返回元素是否拥有指定的属性。 5 1 9 Yes
hasAttributeNS() 返回元素是否拥有指定的属性。 No 1 9 Yes
hasAttributes() 返回元素是否拥有属性。 5 1 9 Yes
hasChildNodes() 返回元素是否拥有子节点。 5 1 9 Yes
insertBefore() 在已有的子节点之前插入一个新的子节点。 5 1 9 Yes
isDefaultNamespace(URI) 返回指定的命名空间 URI 是否为默认。     No Yes
isEqualNode() 检查两节点是否相等。 No No No Yes
isSameNode() 检查两节点是否为同一节点。 No 1 No Yes
isSupported(feature,version) 返回指定的特性是否在此元素上得到支持。     9 Yes
lookupNamespaceURI() 返回匹配指定前缀的命名空间 URI。 No 1 No Yes
lookupPrefix() 返回匹配指定的命名空间 URI 的前缀。 No 1 No Yes
normalize()   5 1 9 Yes
removeAttribute() 删除指定的属性。 5 1 9 Yes
removeAttributeNS() 删除指定的属性。 No 1 9 Yes
removeAttributeNode() 删除指定的属性节点。 5 1 9 Yes
removeChild() 删除子节点。 5 1 9 Yes
replaceChild() 替换子节点。 5 1 9 Yes
setUserData(key,data,handler) 把对象关联到元素上的键。     No Yes
setAttribute() 添加新属性。 5 1 9 Yes
setAttributeNS() 添加新属性。   1 9 Yes
setAttributeNode() 添加新的属性节点。 5 1 9 Yes
setAttributeNodeNS(attrnode) 添加新的属性节点。     9 Yes
setIdAttribute(name,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)。     No Yes
setIdAttributeNS(uri,name,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)(带有命名空间)。     No Yes
setIdAttributeNode(idAttr,isId) 如果 Attribute 对象 isId 属性为 true,那么此方法会把指定的属性声明为一个用户确定 ID 的属性(user-determined ID attribute)。     No Yes

 

节点对象代表文档树中的一个节点。

Node 对象

Node 对象是整个 DOM 的主要数据类型。

节点对象代表文档树中的一个单独的节点。

节点可以是元素节点、属性节点、文本节点,或者也可以是“节点类型”那一节中所介绍的任何一种节点。

请注意,虽然所有的对象均能继承用于处理父节点和子节点的属性和方法,但是并不是所有的对象都拥有父节点或子节点。例如,文本节点不能拥有子节点,所以向类似的节点添加子节点就会导致 DOM 错误。

IE: Internet Explorer, F: Firefox, O: Opera, W3C: 万维网联盟 (因特网标准)

Node 对象的属性

属性 描述 IE F O W3C
baseURI 返回节点的绝对基准 URI。 No 1 No Yes
childNodes 返回节点到子节点的节点列表。 5 1 9 Yes
firstChild 返回节点的首个子节点。 5 1 9 Yes
lastChild 返回节点的最后一个子节点。 5 1 9 Yes
localName 返回节点的本地名称。 No 1 9 Yes
namespaceURI 返回节点的命名空间 URI。 No 1 9 Yes
nextSibling 返回节点之后紧跟的同级节点。 5 1 9 Yes
nodeName 返回节点的名称,根据其类型。 5 1 9 Yes
nodeType 返回节点的类型。 5 1 9 Yes
nodeValue 设置或返回节点的值,根据其类型。 5 1 9 Yes
ownerDocument 返回节点的根元素(document 对象)。 5 1 9 Yes
parentNode 返回节点的父节点。 5 1 9 Yes
prefix 设置或返回节点的命名空间前缀。 No 1 9 Yes
previousSibling 返回节点之前紧跟的同级节点。 5 1 9 Yes
textContent 设置或返回节点及其后代的文本内容。 No 1 No Yes
text 返回节点及其后代的文本(IE 独有的属性)。 5 No No No
xml 返回节点及其后代的 XML(IE 独有的属性)。 5 No No No

Node 对象的方法

方法 描述 IE F O W3C
appendChild() 向节点的子节点列表的结尾添加新的子节点。 5 1 9 Yes
cloneNode() 复制节点。 5 1 9 Yes
compareDocumentPosition() 对比两个节点的文档位置。 No 1 No Yes
getFeature(feature,version) 返回一个 DOM 对象,此对象可执行带有指定特性和版本的专门的 API。     No Yes
getUserData(key) 返回与此节点上的某个键相关联的对象。此对象必须首先通过使用相同的键来调用 setUserData 被设置到此节点。     No Yes
hasAttributes() 判断当前节点是否拥有属性。 No 1 9 Yes
hasChildNodes() 判断当前节点是否拥有子节点。 5 1 9 Yes
insertBefore() 在指定的子节点前插入新的子节点。 5 1 9 Yes
isDefaultNamespace(URI) 返回指定的命名空间 URI 是否为默认。     No Yes
isEqualNode() 检查两个节点是否相等。 No No No Yes
isSameNode() 检查两个节点是否是相同的节点。 No 1 No Yes
isSupported() 返回当前节点是否支持某个特性。     9 Yes
lookupNamespaceURI() 返回匹配指定前缀的命名空间 URI。 No 1 No Yes
lookupPrefix() 返回匹配指定命名空间 URI 的前缀。 No 1 No Yes
normalize() 合并相邻的Text节点并删除空的Text节点。 5 1 9 Yes
removeChild() 删除(并返回)当前节点的指定子节点。 5 1 9 Yes
replaceChild() 用新节点替换一个子节点。 5 1 9 Yes
selectNodes() 用一个 XPath 表达式查询选择节点。 6      
selectSingleNode() 查找和 XPath 查询匹配的一个节点。 6      
transformNode() 使用 XSLT 把一个节点转换为一个字符串。 6      
transformNodeToObject() 使用 XSLT 把一个节点转换为一个文档。 6      
setUserData(key,data,handler) 把对象关联到节点上的一个键上。

 

分享到:
评论

相关推荐

    Python Guide Document--写出好的代码

    ### Python Guide Document--写出好的代码 #### 对于提高Python编码风格有很好的帮助 本文档将深入探讨《Python Guide Document--写出好的代码》所涵盖的主要知识点,包括如何开始使用Python、编写优雅的代码、...

    利用 Python ElementTree 生成 xml的实例

    Python中的`xml.etree.ElementTree`模块是处理XML文档的一个高效且简洁的工具,它提供了创建、解析和操作XML文档的功能。在这个实例中,我们将详细探讨如何使用`ElementTree`来生成XML文件。 首先,我们需要导入`...

    Selenium Python Bindings 2017年 新版 原版

    对于 Windows 用户,除了安装 Python 和 Selenium 外,还需要将 ChromeDriver 或 GeckoDriver 添加到系统的 PATH 环境变量中,以便 Python 脚本能自动找到它们。 **1.5 下载 Selenium 服务器** 虽然不是必需的,但...

    selenium-python.pdf

    为了开始使用 Selenium Python bindings,首先需要安装 Python 和 Selenium 库。可以使用 pip(Python 的包管理工具)来安装 Selenium 库。在命令行中输入以下命令即可安装: ``` pip install selenium ``` **1.3 ...

    python解析xml文件

    `MiniDom`是Python标准库中的一部分,它提供了DOM(Document Object Model)接口,允许用户以面向对象的方式操作XML文档。 ##### 安装与导入 首先,确保已经安装了Python环境。`MiniDom`作为标准库的一部分,无需...

    Selenium-Python

    Selenium 支持多种编程语言,其中包括Python,这使得测试脚本的编写更加简洁和直观。Python环境下的Selenium库提供了丰富的API接口,用于控制浏览器进行网页操作。 **一、安装Selenium** 在Python环境中安装...

    python lxml使用文档

    最后,“Class ElementTree: A complete XML document”章节和“Class Element: One element in the tree”章节分别讲述了ElementTree和Element类,这是对lxml库操作XML文档不可或缺的部分。这些章节详细介绍了如何...

    python生成docx文档从模板

    2. **创建文档对象**:创建一个`Document`对象,它是整个Word文档的基础。 ```python doc = Document() ``` 3. **读取模板**:加载模板文件,这可以是已经包含静态文本和占位符的.docx文件。 ```python ...

    selenium操作隐藏的元素(python+Java)

    在本文中,我们将主要介绍如何使用 Selenium 操作隐藏的元素,包括使用 Python 和 Java 两种语言的实现方法。 隐藏元素的定义 在 HTML 中,元素可以通过多种方式来隐藏,例如使用 `display: none`、`visibility: ...

    python处理document文档保留原样式

    document文档格式、线段、图片、页眉页脚等都不变,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # @Time : 2019/5/6 11:46 # @Author : # 利用python-docx替换文章中的内容 pip install python-docx # 格式...

    python-docx和uiaotumation的使用

    Python-docx库是用于操作Microsoft Word文档的Python库,它提供了丰富的API,使得开发者能够方便地创建、修改和格式化Word文档。在这个知识点中,我们将深入探讨如何利用python-docx进行模板替换,包括文本、图片...

    简单的csv文件转换为kml文件的python程序

    标题中的“简单的csv文件转换为kml文件的python程序”是指使用Python编程语言将...通过Python的`csv`和`xml.etree.ElementTree`库,可以高效地实现这一功能,并通过打包成exe文件,简化了在不同环境下的部署和使用。

    [python]利用Selenium实现网页全屏截图+部分截图并web实现

    在Python编程领域,Selenium是一个强大的自动化测试工具,它能够模拟真实用户操作浏览器,进行网页交互。...结合Python的其他库如Pillow和Flask,可以进一步扩展这些功能,为用户提供便捷的Web服务。

    python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)

     DOM是Document Object Model的简称,XML 文档的高级树型表示。该模型并非只针对 Python,而是一种普通XML 模型。Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里。 一、xml.dom的...

    libxml2-python-2.6.11.rpm(好不容易找到的)

    1. 解析XML文档:通过读取XML文件或XML字符串,将XML数据转换为Python对象。 2. 遍历XML树:使用ElementTree API来遍历XML文档的节点结构,获取元素属性、文本内容等信息。 3. 修改XML文档:添加、删除或修改XML元素...

    pythonxml库

    2. **lxml库**: lxml是Python的一个第三方库,它结合了Cython编译的C库(如libxml2和libxslt),因此在性能上比标准库的ElementTree更胜一筹。lxml提供了与ElementTree类似的API,但增加了更多功能,如XPath和CSS...

    python 的xml标记

    Python中的XML处理主要涉及到两个标准库:`xml.etree.ElementTree` 和 `xml.dom.minidom`。这两个库提供了解析、创建和操作XML文档的功能。本文将深入探讨这两个库的使用,以及如何在实际应用中生成XML。 首先,`...

    Web Browser Programming in Python

    虽然它不支持Python,但对于快速创建和调试自动化测试很有帮助。 4. **Selenium Grid**:这个组件允许并行运行测试,可以在不同的机器和浏览器上分布式执行,大大提高了测试效率。 在Python中使用Selenium,首先...

    python自动办公-55 Word-docx-读取word

    本教程将深入探讨如何使用`python-docx`库来读取和操作Word(docx)文件。`python-docx`是Python的一个第三方库,它允许我们以编程方式与.docx文件进行交互。 首先,确保已经安装了`python-docx`库。如果没有,可以...

    selenium webdriverAPI-python

    This document focuses on the Selenium WebDriver API in Python, detailing the methods available for automating browser actions. #### Initialization (`__init__`) The `__init__` method initializes a ...

Global site tag (gtag.js) - Google Analytics