DOM节点中属性nodeName、nodeType和nodeValue的区别 Delphi
http://msdn.microsoft.com/zh-cn/library/vstudio/hf9hbf87.aspx
<?xml version="1.0"?><books><book><author>Carson</author><price format="dollar">31.95</price><pubdate>05/01/2001</pubdate></book><pubinfo><publisher>MSPress</publisher><state>WA</state></pubinfo></books>
在 XML 文档结构中,此图中的每个圆圈表示一个节点(称为 XmlNode 对象)。
XmlNode 对象是 DOM 树中的基本对象。
XmlDocument 类(扩展XmlNode)支持用于对整个文档执行操作(例如,将文档加载到内存中或将 XML 保存到文件中)的方法。
此外,XmlDocument 提供了查看和处理整个 XML 文档中的节点的方法。 XmlNode 和 XmlDocument 都具有性能和可用性增强,并通过方法和属性执行下列操作:
访问和修改 DOM 特定的节点,如元素节点、实体引用节点等。
除检索节点包含的信息(如元素节点中的文本)外,还检索整个节点。
Node 对象具有一组方法和属性以及基本的和定义完善的特性。其中的某些特性包括:
节点有单个父节点,父节点是与节点相邻的上一级节点。唯一没有父级的节点是文档根,因为它是顶级节点,包含了文档本身和文档片段。
大多数节点可以有多个子节点,子节点是与节点相邻的下一级节点。以下是可以有子节点的节点类型列表。
Document
DocumentFragment
EntityReference
Element
Attribute
XmlDeclaration、Notation、Entity、CDATASection、Text、Comment、ProcessingInstruction 和 DocumentType 节点没有子节点。
处于同一级别、在关系图中由 book 和 pubinfo 节点表示的节点是同级。
DOM 的一个特性是处理属性的方式。属性是不属于父子关系和同级关系的节点。属性被视为元素节点的属性,由名称和值对组成。
例如,如果存在由与元素price 关联的 format="dollar" 组成的 XML 数据,则单词 format 是名称,format 属性的值是 dollar。
为检索 price 节点的 format="dollar" 属性,可以在游标位于 price 元素节点时调用 GetAttribute 方法。有关更多信息,请参见访问 DOM 中的属性。
http://linder0209.iteye.com/blog/1458823
http://www.css88.com/archives/5017
(一)nodeName 属性含有某个节点的名称。
元素节点的 nodeName 是标签名称
属性节点的 nodeName 是属性名称
文本节点的 nodeName 永远是 #text
文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是 大写 的
nodeName 属性含有某个节点的名称。
- 元素(element)节点的 nodeName 是标签名称
- 属性(attribute)节点的 nodeName 是属性名称
- 文本(text)节点的 nodeName 永远是 #text
- 文档(document)节点的 nodeName 永远是 #document
(二)nodeValue
对于文本节点,nodeValue 属性包含文本。
对于属性节点,nodeValue 属性包含属性值。
nodeValue 属性对于文档节点 <document> 和元素节点 <element> 是不可用的。
(三)nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
元素类型 节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9
http://www.w3schools.com/dom/dom_nodetype.asp
Node Types
The following table lists the different W3C node types, and which node types they may have as children:
Node type | Description | Children |
---|---|---|
Document | Represents the entire document (the root-node of the DOM tree) | Element (max. one), ProcessingInstruction, Comment, DocumentType |
DocumentFragment | Represents a "lightweight" Document object, which can hold a portion of a document | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
DocumentType | Provides an interface to the entities defined for the document | None |
ProcessingInstruction | Represents a processing instruction | None |
EntityReference | Represents an entity reference | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
Element | Represents an element | Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference |
Attr | Represents an attribute | Text, EntityReference |
Text | Represents textual content in an element or attribute | None |
CDATASection | Represents a CDATA section in a document (text that will NOT be parsed by a parser) | None |
Comment | Represents a comment | None |
Entity | Represents an entity | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
Notation | Represents a notation declared in the DTD | None |
Node Types - Return Values
The following table lists what the nodeName and the nodeValue properties will return for each node type:
Node type | nodeName returns | nodeValue returns |
---|---|---|
Document | #document | null |
DocumentFragment | #document fragment | null |
DocumentType | doctype name | null |
EntityReference | entity reference name | null |
Element | element name | null |
Attr | attribute name | attribute value |
ProcessingInstruction | target | content of node |
Comment | #comment | comment text |
Text | #text | content of node |
CDATASection | #cdata-section | content of node |
Entity | entity name | null |
Notation | notation name | null |
NodeTypes - Named Constants
NodeType | Named Constant |
---|---|
1 | ELEMENT_NODE |
2 | ATTRIBUTE_NODE |
3 | TEXT_NODE |
4 | CDATA_SECTION_NODE |
5 | ENTITY_REFERENCE_NODE |
6 | ENTITY_NODE |
7 | PROCESSING_INSTRUCTION_NODE |
8 | COMMENT_NODE |
9 | DOCUMENT_NODE |
10 | DOCUMENT_TYPE_NODE |
11 | DOCUMENT_FRAGMENT_NODE |
12 | NOTATION_NODE |
http://www.w3school.com.cn/xmldom/dom_nodes_nodelist.asp
<bookstore><book category="children"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book><book category="cooking"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="web" cover="paperback"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book><book category="web"><title lang="en">XQuery Kick Start</title><author>James McGovern</author><author>Per Bothner</author><author>Kurt Cagle</author><author>James Linn</author><author>Vaidyanathan Nagarajan</author><year>2003</year><price>49.99</price></book> </bookstore>
下面的图像表示 "books.xml" 中 <title> 元素的节点列表:
Xml.XMLIntf.IXMLNode.NodeType
Indicates the type of the node.
Read NodeType to determine the type of the node. The type reflects the way the node is used in the XML document.
TNodeType = (ntReserved, ntElement, ntAttribute, ntText, ntCData,ntEntityRef, ntEntity, ntProcessingInstr, ntComment, ntDocument,ntDocType, ntDocFragment, ntNotation);
Xml.XMLIntf.IXMLNode.NodeName
Indicates the node name.
NodeName is the name of the underlying DOM node.
The node's name depends on the type of the node, as indicated in the following table:
NodeType | NodeName |
---|---|
ntAttribute |
The attribute name |
ntElement |
The tag name |
ntText |
'#text' |
ntCData |
'#cdata-section' |
ntEntityRef |
The name of the entity reference. |
ntEntity |
The entity name |
ntProcessingInstr |
the target of the processing instruction |
ntComment |
'#comment' |
ntDocument |
'#document' |
ntDocType |
The document type name |
ntDocFragment |
'#document-fragment' |
ntNotation |
The notation name |
Xml.XMLIntf.IXMLNode.NodeValue
Specifies the value of this node.
Use NodeValue to get or set the value of the node. The meaning of a node's value depends on the type of the node, as indicated in the following table:
NodeType | Value |
---|---|
ntAttribute |
The attribute value |
ntElement |
If the element contains only text, this is that text value. Otherwise, trying to read or set NodeValue causes an exception. |
ntText |
The text |
ntCData |
The content of the CDATA section. |
ntProcessingInstr |
The content of the processing instruction except for the target. |
ntComment |
The value (text) of the comment. |
Xml.XMLIntf.IXMLNode.IsTextElement
Indicates whether the node has a single text value.
Read IsTextElement to determine whether this node represents a single text value. For example, if the node represents the following:
<Title> Understanding XML </Title>
IsTextElement is true, because the node represents a tagged element and the text that is its value.
Note:
In the underlying DOM implementation, nodes for which IsTextElement is true are element nodes that have a single child node that is a text node.
IXMLNode flattens this out so that you can use the element node to work with the text value (through the Text property),
rather than requiring you to use a separate node for the text value.
DOM节点中属性nodeName、nodeType和nodeValue的区别 Delphi相关推荐
- HTML DOM节点的属性获取
根据实验发现,dom节点中,html节点都有下列的属性,并列举重要的属性: 例如: var trObj = document.getElementById("id_1"); // ...
- DOM节点的属性及文本操作
DOM节点的属性操作 获取属性值 DOM节点.属性名 //不能获取用户自定义的属性值 DOM节点.getAttribute(属性名) //获取所有属性值 设置属性值 DOM节点.属性名 = 属性值 D ...
- JavaScript中的nodeName nodeType nodeValue区别
在JavaScript中,存在有nodeName .nodeType. nodeValue这三个属性,今天我们来了解下JavaScript中的nodeName .nodeType .nodeValue ...
- java dom获取属性值_java – 获取dom节点的属性
我试图获取一个xml节点的属性示例: 我想获取car节点的name属性. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ...
- DOM节点中nodeName、nodeValue 以及 nodeType属性值
今天在用childrenNodes进行操作dom时,碰到了问题,仔细查了一下相关API,记录一下: nodeName nodeName 属性含有某个节点的名称. 元素节点的 nodeName 是标签名 ...
- map循环遍历返回dom节点中存在逗号解决方案
在``中遍历的return比如一个字符串,会发现有些后面带了逗号 data.map(item=>{ return ${item} }).join() 因为map遍历返回的数组因为拼接+=调用了t ...
- js ,DOM节点,制作点名器
DOM节点 document 页面中最大的节点,有且只有一个.不属于元素节点,是页面中所有节点的容器. 根节点. html 页面中最大的元素节点.根元素节点. 元素节点 html标签 文本节点 每一段 ...
- Jquery操作DOM节点
1. 向DOM节点中追加元素: append:向元素内部追加内容: 例如:<p>我想说:</p> $("p").append(" ...
- 认识DOM的三大节点:元素节点,文本节点,属性节点以及nodeName,nodeType,nodeValue的区别
既然我们把网页文档看做树形结构,那么就有对应的节点.诚然DOM中有三大节点,分别是元素节点,文本节点,属性节点 元素节点:构成了DOM的基础.文档结构中,<html>是根元素,代表整个文档 ...
最新文章
- 刷了半年LeetCode,总共500题,拿到了 Google 的 special offer,记下笔记,感谢这些很有用的公众号...
- zipimport.ZipImportError: can't decompress data; zlib not available 解决办法
- 坐视——做事——做势
- Android中ActivityManager学习笔记
- 使用CORS解决同源限制
- rcu宽限期_如何处理宽限期错误:静默失败不是一种选择
- html5视频播放事件相关
- 用matlab怎么画频率特性,(matlab)频率特性仿真.pdf
- pygame 文字输入交互_如何在pygame中创建交互式对象?
- LSTM+attention代码原理详解
- 右下角任务栏弹出天猫广告的解决办法,搞了半天原来是搜狗拼音在捣鬼!附搜狗双拼党转投微软拼音怀抱教程
- java计算同比和环比
- 怎么看自己电脑的IP地址
- 视频切割:python将视频文件按秒存储成图片
- 019-zabbix数据库表详解
- css3 图片旋转360度动画
- Kali使用中文输入法
- 做自媒体短视频,最简单的赚钱方法,就是做流量收益
- python绘制对数函数
- EBS 12.2 开启JWS
热门文章
- NPOI 1.2教程(目录)
- 博客园博客PDF生成器
- 二维傅里叶变换是怎么进行的?
- Android开发的之基本控件和详解四种布局方式
- C#中 paint()与Onpaint()的区别
- 软件质量保证计划_如何做好软件项目的质量管理?
- file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?
- python中return和and连用
- fastadmin 批量上传不成功_shopee批量上传产品步骤
- python跳回循环开始位置_如何回到python中循环的开始?