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

    XmlDeclarationNotationEntityCDATASectionTextCommentProcessingInstruction 和 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相关推荐

  1. HTML DOM节点的属性获取

    根据实验发现,dom节点中,html节点都有下列的属性,并列举重要的属性: 例如: var trObj = document.getElementById("id_1");  // ...

  2. DOM节点的属性及文本操作

    DOM节点的属性操作 获取属性值 DOM节点.属性名 //不能获取用户自定义的属性值 DOM节点.getAttribute(属性名) //获取所有属性值 设置属性值 DOM节点.属性名 = 属性值 D ...

  3. JavaScript中的nodeName nodeType nodeValue区别

    在JavaScript中,存在有nodeName .nodeType. nodeValue这三个属性,今天我们来了解下JavaScript中的nodeName .nodeType .nodeValue ...

  4. java dom获取属性值_java – 获取dom节点的属性

    我试图获取一个xml节点的属性示例: 我想获取car节点的name属性. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ...

  5. DOM节点中nodeName、nodeValue 以及 nodeType属性值

    今天在用childrenNodes进行操作dom时,碰到了问题,仔细查了一下相关API,记录一下: nodeName nodeName 属性含有某个节点的名称. 元素节点的 nodeName 是标签名 ...

  6. map循环遍历返回dom节点中存在逗号解决方案

    在``中遍历的return比如一个字符串,会发现有些后面带了逗号 data.map(item=>{ return ${item} }).join() 因为map遍历返回的数组因为拼接+=调用了t ...

  7. js ,DOM节点,制作点名器

    DOM节点 document 页面中最大的节点,有且只有一个.不属于元素节点,是页面中所有节点的容器. 根节点. html 页面中最大的元素节点.根元素节点. 元素节点 html标签 文本节点 每一段 ...

  8. Jquery操作DOM节点

    1.         向DOM节点中追加元素: append:向元素内部追加内容: 例如:<p>我想说:</p>   $("p").append(" ...

  9. 认识DOM的三大节点:元素节点,文本节点,属性节点以及nodeName,nodeType,nodeValue的区别

    既然我们把网页文档看做树形结构,那么就有对应的节点.诚然DOM中有三大节点,分别是元素节点,文本节点,属性节点 元素节点:构成了DOM的基础.文档结构中,<html>是根元素,代表整个文档 ...

最新文章

  1. 刷了半年LeetCode,总共500题,拿到了 Google 的 special offer,记下笔记,感谢这些很有用的公众号...
  2. zipimport.ZipImportError: can't decompress data; zlib not available 解决办法
  3. 坐视——做事——做势
  4. Android中ActivityManager学习笔记
  5. 使用CORS解决同源限制
  6. rcu宽限期_如何处理宽限期错误:静默失败不是一种选择
  7. html5视频播放事件相关
  8. 用matlab怎么画频率特性,(matlab)频率特性仿真.pdf
  9. pygame 文字输入交互_如何在pygame中创建交互式对象?
  10. LSTM+attention代码原理详解
  11. 右下角任务栏弹出天猫广告的解决办法,搞了半天原来是搜狗拼音在捣鬼!附搜狗双拼党转投微软拼音怀抱教程
  12. java计算同比和环比
  13. 怎么看自己电脑的IP地址
  14. 视频切割:python将视频文件按秒存储成图片
  15. 019-zabbix数据库表详解
  16. css3 图片旋转360度动画
  17. Kali使用中文输入法
  18. 做自媒体短视频,最简单的赚钱方法,就是做流量收益
  19. python绘制对数函数
  20. EBS 12.2 开启JWS

热门文章

  1. NPOI 1.2教程(目录)
  2. 博客园博客PDF生成器
  3. 二维傅里叶变换是怎么进行的?
  4. Android开发的之基本控件和详解四种布局方式
  5. C#中 paint()与Onpaint()的区别
  6. 软件质量保证计划_如何做好软件项目的质量管理?
  7. file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?
  8. python中return和and连用
  9. fastadmin 批量上传不成功_shopee批量上传产品步骤
  10. python跳回循环开始位置_如何回到python中循环的开始?