innerText 和 textContent 都是获取所有节点的 firstChild.nodeValue 是获取本节点的text文本,不包含子节点的。 ?
>, ] 子节点 / 获取li节点的直接子节点 from lxml import etree.../test.html', etree.HTMLParser()) result = html.xpath('//li/a') # 获取所有li节点的直接子节点a print(result) [<Element.../test.html', etree.HTMLParser()) # 获取属性class值为item-0的li的子节点a的文本内容 result = html.xpath('//li[@class="item...-0"]/a/text()') print(result) # ['first'] 如果想要获取后代节点内部的所有文本,使用 //text() from lxml import etree html.../test.html', etree.HTMLParser()) # 获取所有li的后代节点中的文本 result = html.xpath('//li//text()') print(result)
所以在构造DOM树时,根元素并不适合作为根节点,所以就出现了文档节点,而根节点作为文档节点的子节点。 补充内容: 值——元素类型 1——元素节点,表示文档中元素,元素节点是唯一能够拥有属性的节点类型。...元素和属性的文本内容都是由文本节点来表示的。 2——属性节点,代表元素的属性。 3——文本节点,只包含文本内容,也可以只包含空白。 4——CDATA段节点。...2、childNodes childNodes保存子节点的引用,包括空白也在内(除了IE在内。...3、children 如果只想获得子节点中的元素节点,跳过文本节点,应该使用children属性。 IE<9会在children属性中列出注释节点。...比如:p.firstChild.nodeValue="再次更新文字" b、新增元素(appendChild和insertBefore) appendChild()将新元素作为父元素的最后一个子元素。
XPath 节点 ---- XPath 术语 节点 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。...节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。...在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。...在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果 /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
2.xpath节点 xpath有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。 节点关系:父、子、兄弟、先辈、后辈。...XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。...在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。 /bookstore 选取根元素 bookstore。...在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果 /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
Xpath术语 节点 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。...下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取(取子节点) // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置(取子孙节点) ....选取当前节点的父节点 @ 选取属性 在下面的表格中,已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点 /bookstore 选取根元素...在下面的表格中,列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果 /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。...在下面的表格中,列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。...下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前节点。...选取当前节点的父节点。 @ 选取属性。 在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。...descendant 选取当前节点的所有后代元素(子、孙等)。 descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。...child::text() 选取当前节点的所有文本子节点。 child::node() 选取当前节点的所有子节点。 descendant::book 选取当前节点的所有 book 后代。
使用chrome插件选择标签时候,选中时,选中的标签会添加属性class=”xh-highlight” 下面列出了最有用的表达式: 表达式 描述 nodename 选中该元素。...bookstore/book 选取属于 bookstore 的子元素的所有 book 元素。 //book 选取所有 book 子元素,而不管它们在文档中的位置。...//book/title/text() 选择所有的book下面的title的文本。...选择所有的h1下的文本 //h1/text() 获取所有的a标签的href //a/@href 获取html下的head下的title的文本 /html/head/title/text() 获取html...实例 在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
比如回车会被当做一个文本节点。 点我查看DOM中的空白符 1、nodeType DOM本质就是一堆节点的集合,由于包含不同类型的信息,所以就有不同类型的节点。接下来看nodeType。...所以在构造DOM树时,根元素并不适合作为根节点,所以就出现了文档节点,而根节点作为文档节点的子节点。...元素和属性的文本内容都是由文本节点来表示的。 2——属性节点,代表元素的属性。 3——文本节点,只包含文本内容,也可以只包含空白。 4——CDATA段节点。...IE<9会在children属性中列出注释节点。...//不一定,null或者文本。因为document.body.children[0]代表第一个元素节点,可能会有文本节点作为它 previousSibling。
head标签是html子标签,meta和title标签之间是兄弟关系。如果把每个标签当作一个节点的话,那么这些节点组合成了一棵节点树。 PS:后面我们经常把标签称作为元素,是一个意思。...attributes 获取当前元素节点的所有属性节点集合 1.childNodes属性 childeNodes属性可以获取某一个元素节点的所有子节点,这些子节点包含元素子节点和文本子节点。...alert(box.firstChild.nodeValue);//获取第一个子节点的文本内容 alert(box.lastChild.nodeValue);//获取最后一个子节点的文本内容 3.ownerDocument...);//得到子节点个数,IE3个,非IE7个 PS:在非IE中,标准的DOM具有识别空白文本节点的功能,所以在火狐浏览器是7个,而IE自动忽略了,如果要保持一致的子元素节点,需要手工忽略掉它。...那么还有一种做法是,直接删除空白节点即可。
选取当前节点的父节点 @ 选取属性 nodeName 选取此节点的所有子节点 在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 /bookstore 选取根元素 bookstore.../title 选取所有 book 子元素,从当前节点查找title节点 //price/.....选取所有 price 子元素,从当前节点查找父节点 //@lang 选取名为 lang 的所有属性 bookstore 选取 bookstore 元素的所有子节点。...在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果 /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
root=ET.Element("home",{"name":"root"}) #创建子节点,也可以用下面的方式创建,但只是创建,还没有加到任何节点下面 #sub=root.makeelement...XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。 <?xml version="1.0" encoding="ISO-8859-1"?...节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。...实例 在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。...child::* 选取当前节点的所有子元素。 attribute::* 选取当前节点的所有属性。 child::text() 选取当前节点的所有文本子节点。
后代(Descendant) 某个节点的子,子的子,等等。 在下面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素: <?...下面列出了最常用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前节点。...选取当前节点的父节点。 @ 选取属性。 在下面的表格中,我们已列出了一些路径表达式以及表达式的结果: 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点。...在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果: 路径表达式 结果 /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。
一、选取节点 常用的路径表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpath(.../descendant::*’) 返回当前节点的所有后代节点(子节点、孙节点) following xpath(‘....选取节点文本包含ma的div节点 scrapy xpath文档:http://doc.scrapy.org/en/0.14/topics/selectors.html 选取未知节点 XPath...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 /bookstore/* 选取 bookstore 元素的所有子元素。 //* 选取文档中的所有元素。...在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果: 路径表达式 结果 //book/title | //book/price 选取 book 元素的所有 title 和 price 元素。
属性节点 属性节点的属性名 2 属性节点的属性值 Text文本节点 #text 3 文本节点的内容 获取父节点 获取父节点包括两个分别为 获取父节点:parenNode 获取指定节点的父节点,其父节点不一定是元素节点...获取指定节点的最后一个子节点 childNodes 获取所有的子节点,返回一个NodeList集合,但此集合为动态集合 var childNodes = parentElement.childNodes...previousSibling 获取指定节点的前面相邻兄弟节点 nextSibling 获取指定节点的后面相邻兄弟节点 空白节点 主流浏览器解析HTM页面内容为DOM节点树结构时,会产生空文本的空白节点...解决方案 如果可以判断出什么情况下是空白节点(内容为回车符的空白节点)根据空白节点产生的情况来进行处理 根据空白节点产生的情况来进行处理DOM中的空白符 使用getElementByTagName...也就是说,它没有父节点 如果de参数设为 false,则不克隆它的任何子节点。该节点所包含的所有刘本也不会被克隆,因为文本本身也是一个或多个的Text节点。
文章目录 1、列出节点 2、查看节点状态 3、列出配额 4、设置配额 5、删除配额 6、显示最近执行过的命令 7、创建节点 8、设置节点内容 9、获取某个节点信息 10、删除节点 11、事件监听 12、...权限控制 1、列出节点 ls path ls -s path //包含该节点的详细信息,如子节点总数等 2、查看节点状态 stat path cZxid = 0x14f //创建节点的ID ctime...//修改节点的时间 pZxid = 0x150 //最新插入的子节点ID cversion = 1 //子节点的版本 dataVersion = 0 //当前节点的数据版本 aclVersion =...0 //权限版本 ephemeralOwner = 0x0 //是否为临时节点 dataLength = 0 //数据长度 numChildren = 1 //子节点的个数 3、列出配额 listquota...// 注册节点的删除和修改事件 子节点: NodeChildrenChanged //只能监听到子节点的删除和新增操作,修改操作是监听不了 12、权限控制 getAcl 获取某个节点的权限 setAcl
Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。 NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。 元素也可以拥有属性。...element.appendChild() 向元素添加新的子节点,作为最后一个子节点。 element.attributes 返回元素属性的 NamedNodeMap。...element.normalize() 合并元素中相邻的文本节点,并移除空的文本节点。 element.offsetHeight 返回元素的高度。...element.textContent 设置或返回节点及其后代的文本内容。 element.title 设置或返回元素的 title 属性。...attr.previousSibling 属性没有同级节点。 attr.removeChild 属性没有子节点。 attr.replaceChild 属性没有子节点。
# 列出指定节点下面的所有子节点(只能列出下一级),你会发现在根节点下面有一个Zookeeper的保留节点,名称就是zookeeper # path:指定节点路径 # watch:是否对目录的变动进行监听...ls path [watch] # 列出子节点和该节点的属性信息 ls2 path [watch] # 读取指定节点的内容和属性信息 # path:指定节点路径 # watch:是否对节点内容变动进行监听...:该节点的子节点列表最后一次被修改的事务的id(例如为当前节点添加子节点、从当前节点的子节点中删除一个或多个子节点都会引起节点的子节点的列表的改变, 而修改节点的数据内容则不在此列) cversion:...[version] # 删除包含子节点的节点 rmr path 其他命令 # 设置配额,解释见下一行注释 # 设置指定路径可以创建的子节点数量或存储数据的最大长度,超过也允许创建,只是给出警告日志 #...-n:表示限制子节点的个数 # -b:表示限制数据的长度 setquota -n|-b val path # 列出指定节点的配额 listquota path # 删除配额 delquota [
领取专属 10元无门槛券
手把手带您无忧上云