XML DOM 节点信息

XML DOM 节点信息一览表

—— 一张图记住每个节点能告诉你什么(2025 年最新最全)

节点类型(nodeType)nodeNamenodeValuetextContent实际用途(一句话总结)
1 ELEMENT_NODE标签名(大写)null元素内全部文本(最常用!)取标签名、取文本、遍历子节点
2 ATTRIBUTE_NODE属性名属性值属性值取属性值(推荐用 getAttribute)
3 TEXT_NODE“#text”文本内容文本内容取纯文本内容(实际用 textContent 更方便)
4 CDATA_SECTION_NODE“#cdata-section”CDATA 内容CDATA 内容保留原始 < > & 等特殊字符
7 PROCESSING_INSTRUCTIONtarget(如 xml)整个内容(version=”1.0″…)同 nodeValue读取 等处理指令
8 COMMENT_NODE“#comment”注释文字注释文字
9 DOCUMENT_NODE“#document”nullnull整个文档的根,是所有节点的祖宗
10 DOCUMENT_TYPE_NODEdoctype 名称nullnull取 中的名称
11 DOCUMENT_FRAGMENT_NODE“#document-fragment”nullnull轻量级容器,常用于批量插入节点

实战速查:你想知道什么?直接看这里!

// 假设你现在手里有一个 node(任意节点)
console.log({
  类型:     node.nodeType,                 // 数字 1~12
  类型名称: node.constructor.name,        // 如 "Element"、"Text"、"Attr"
  nodeName: node.nodeName,                 // 标签名或 #text
  nodeValue: node.nodeValue,               // 文本/属性值
  textContent: node.textContent,           // 最常用!元素内全部文字
  标签名:   node.tagName,                  // 只有元素有(大写)
  属性值:   node.getAttribute?.("id"),     // 只有元素有
  是否元素: node.nodeType === 1,
  是否文本: node.nodeType === 3,
  是否属性: node.nodeType === 2,
});

经典判断写法(99% 项目都在用)

// 1. 是不是元素节点(最常用判断)
if (node.nodeType === 1 || node instanceof Element) { ... }

// 2. 是不是纯文本节点(常用于过滤空白)
if (node.nodeType === 3 && node.nodeValue.trim() === "") { /* 空白文本 */ }

// 3. 安全取文本(推荐写法)
const text = node.textContent || node.nodeValue || "";

// 4. 安全取属性(推荐写法)
const id = node.getAttribute?.("id") || node.id || "";

终极记忆口诀(背会这 4 句就够了)

  1. 想取文本 → 直接 node.textContent(万能)
  2. 想取属性 → 直接 node.getAttribute("name")(最快)
  3. 想知道是什么节点 → 看 node.nodeType === 1(元素?)
  4. 其他所有信息 → node.nodeName + node.nodeValue

一张图记住所有信息来源(强烈建议保存)

任何节点
├── nodeType → 1=元素 3=文本 2=属性 8=注释 ...
├── nodeName → 标签名 / "#text" / "#comment"
├── nodeValue → 只有文本、属性、注释、CDATA 有值
├── textContent → 只有元素和文档片段有(最常用!)
└── tagName → 只有元素有(等价于 nodeName,但大写)

记住了上面这张表和 4 句口诀,
你就已经掌握了 XML DOM 中“如何快速知道一个节点到底长什么样”的全部核心技能!

需要我给你生成一个“节点信息可视化小工具”(输入任意节点立刻显示所有信息),随时说一声~

文章已创建 2732

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部