XML DOM学习(一)

学习C#之DOM方式操作XML文档 一、XML文档组成 文件头:标记XML版本(固定1.0)和文件编码格式(要按照指定的书写方式(utf-8)) 一个XML文件必须包含一个根节点(根元素),否则文件无效 元素都成对出现,分为开始元素和结束元素。当元素间存在内容时,元素自动分开。当无内容时以出现 XML文件中可以存在任意多个层级的元素操作,放在一对元素之间的并列元素,即为该元素的子节点 开始元素中可以包含任意多个属性用来描述该元素 阅读详情

节点

DOM 是这样规定的:

整个文档是一个文档节点
每个 XML 元素是一个元素节点
包含在 XML 元素中的文本是文本节点
每一个 XML 属性是一个属性节点
注释是注释节点

在 DOM 处理中一个普遍的错误是,认为元素节点包含文本。
不过,元素节点的文本是存储在文本节点中的。
在这个实例中:<year>2005</year>,元素节点 <year>,拥有一个值为 “2005” 的文本节点。
“2005” 不是 <year> 元素的值!

节点树

XML DOM 把 XML 文档视为一棵节点树。
在这里插入图片描述

加载函数

为了让加载函数便于管理,可以把加载函数写成一个函数,然后使用时从脚本中调用:
loadxmldoc.js


function loadXMLDoc(dname)
{
    if (window.XMLHttpRequest)
    {
        xhttp=new XMLHttpRequest();
    }
    else
    {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET",dname,false);
    xhttp.send();
    return xhttp.responseXML;
}


<html>
<head>
<script src="loadxmldoc.js">
</script>
</head>
<body>
 
<script>
xmlDoc=loadXMLDoc("books.xml");
 
code goes here.....
 
</script>
 
</body>
</html>

DOM属性

一些典型的 DOM 属性:

x.documentElement - x的根节点
x.nodeName - x 的名称

nodeName 是只读的
元素节点的 nodeName 与标签名相同
属性节点的 nodeName 是属性的名称
文本节点的 nodeName 永远是 #text
文档节点的 nodeName 永远是 #document

x.nodeValue - x 的值

元素节点的 nodeValue 是 undefined
文本节点的 nodeValue 是文本本身
属性节点的 nodeValue 是属性的值

x.parentNode - x 的父节点
x.childNodes - x 的子节点
x.attributes - x 的属性节点

三个重要的节点属性是:

nodeName:只读,规定节点名称
nodeValue:规定节点的值,注意元素节点的值是undefined
nodeType:规定节点的类型,只读,元素节点类型值是1,属性是2,文本是3,注释是8,文档是9

获取节点

getElementsByTagName()-通过标签名获取元素对象
getAttribute()-获取对象属性值
getAttributeNode()-获取对象属性节点

改变节点

在 DOM 中,每种成分都是节点。元素节点没有文本值。元素节点的文本存储在子节点中。该节点称为文本节点。改变元素文本的方法,就是改变这个子节点(文本节点)的值。
对于属性节点,可以通过使用 setAttribute() 方法或属性节点的 nodeValue 属性来实现这个效果

<script>
    xmlDoc=loadXMLDoc("helloXml.xml");
    x=xmlDoc.getElementsByTagName("book")[0];
    x.setAttribute("category","food");//用setAttribute改变属性
    document.write(x.getAttribute("category")+"<br>");
    y=x.getAttributeNode("category");//获取属性节点
    y.nodeValue="en";//改变属性节点的值
    document.write(x.getAttribute("category"));
</script>

在这里插入图片描述

使用XML DOM生成XML 正如你所了解的,XML是个功能强大的新型数据结构,它可以让你把网页的内容和表现形式分开。尽管如此,目前,我们的文章大多仅介绍了直接生成XML标记得的法。我们在大多数时候,都是手工编写必需的标记和数据的。      幸运的是,微软提供了XML DOM(XML文档对象模型),这是另外一种编写XML代码的方法。该对象库可以让你构建XML语法树,并提供了更有效的方法来创建XML文档。例如,你可用XML D 阅读详情

相关推荐

Qt 之 XML(DOM)

DOM(Document Object Model - 文档对象模型)定义了访问和操作 XML 文档的标准方法。

青春不老,奋斗不止! 9121

XML学习笔记(一)之DOM及SAX方式解析XML原理

1.XML XML 指可扩展标记语言(eXtensibleMarkupLanguage)。XML 被设计用来传输和存储数据。 (1)XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。 示例: <bookstore> <book category="CHILDREN"> <title lang="...

qq_42922647的博客 311

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包

目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp (https://blog.youkuaiyun.com/u010039418/article/details/86251470) 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要向本地10001端口发送数据,可以使用 ec.

我的笔记本 1万+

<Java 读取XML文件>学习日志(一)——DOM方式解析

import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.Pa...

chichen5099的博客 137

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1657

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力

本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。

weixin_29034963的博客 341

xml解析之DOM方式

XML解析方式 DOM方式 DOM文档对象模型(树型结构) DOM方式解析就是把XML文档加载到内存中,形成树型结构,可以进行增删改查的操作 简单来说,他就是用来解析xml里面的标签的,标签的关系以及属性,解析成一棵树(父子关系那种),并且得到一个document对象,通过对象获取到信息 我们也可以使用dom4j来进行dom方式的解析 dom4j是一个开源的xml解析软件包 我们发现很多框架也是需要使用我们的dom4j,为什么框架也需要呢? 因为框架提供自己的配置文档,这个配置文档它是需要进行解析的,解析

qq_44849626的博客 236

《AI应用架构师智能特征工程实践的前沿趋势解读》

面对传统方法的局限性,智能特征工程(Intelligent Feature Engineering)应运而生。智能特征工程是指利用人工智能、机器学习和自动化技术,实现特征提取、构造、选择和优化过程的自动化、智能化和可扩展化的方法和技术体系。效率提升:将数据科学家从繁琐的人工特征工程中解放出来,大幅缩短特征开发周期。质量保障:通过系统化方法发现人类难以察觉的特征模式,提高特征质量和模型性能。可扩展性:能够处理大规模、高维度和多类型的数据,适应不同领域和场景。降低门槛。

大数据洞察的博客 1181

XML(一):大纲

让我们开始 XML(一)的学习。

SAFE20242034的博客 474

别再用Excel画波特图了!用LTspice免费仿真软件,5分钟搞定电路传递函数分析

本文介绍了如何利用LTspice免费仿真软件高效绘制波特图,解决传统Excel绘图效率低、精度不足的问题。通过详细的操作步骤和实战案例,展示LTspice在电路传递函数分析中的自动化计算、专业级精度和完整特性展示等优势,帮助工程师快速完成频率响应分析。

weixin_42524226的博客 462

【无人机路径规划】基于强化学习实现多无人机路径规划附matlab代码

1 简介 本文提出一种基于强化学习实现多无人机路径规划。​ 2 部分代码 % This is used to measure the path length, service rate and risk explosure for each UAVs %% parameters function [PL,ServiceRate,Risk]=measure global N2; % divide [0,1]*[0,1] map into N2*N2 grid when calcul

qq_59747472的博客 6907

Java——DOM方式生成XML

学完了解析XML,就该学习生成XML文件了。首先学习的是如何使用DOM方式生成XML文件。使用DOM方式生成XML文件有如下几步:首先是创建DOM树(即规定XML文件中的内容): 创建DocumentBuilderFactory对象 通过DocumentBuilderFactory对象创建DocumentBuilder对象 通过DocumentBuilder对象的newDocument()方法创建一

菜鸟的成长之路... 2万+

Coze智能体开发:如何搭建一个生成长文本的工作流

扣子工作流提供了流程定制化的能力,我们可以把长文生成的流程拆分为多个步骤,例如先通过大模型节点生成大纲、再使用循环节点依次扩写各个段落,最后将各个段落组合起来,从而实现长文生成流程。此工作流可适用于学术写作、商业报告、小说创作等多种场景。

王国平的博客 1790

Android XML解析学习——Dom方式

一.基础知识在《Android XML解析学习——Sax方式》和《Android XML解析学习——Sax方式(续)》中我们学习了在Android 平台上使用SAX的方式解析XML文档的方法。除了SAX的方式,还有一种常用的为DOM(Document Object Model文档对象模型)方式。DOM方式解析XML的过程为首先将所有 XML 文档读取到内存中,构造一个树结构,然后允许使用 DOM API 来操作整个树结构,包括遍历 XML 树、检索所需的数据等。Android平台使用Java SDK中的AP

ichliebephone的专栏 1万+

数据结构课程设计C/C++版--美团餐馆预定信息的管理与分析 1 2

本关任务:从文件user.txt中读取用户信息,包括账号、密码、联系方式等,创建一个用户信息的顺序表,根据账号判断顺序表中是否存在当前用户。如果存在,则添加失败。否则,判断输入的用户信息中是否有非法输入,若有则添加失败,否则将该用户作为新结点,按顺序插入到顺序表的相应位置,并将用户顺序表写入user.txt中。本关任务:从文件user.txt中读取用户信息,存入顺序表中。输入待查找的用户账号,调用折半查找算法判断用户顺序表中是否存在该用户的账号信息。如果存在,则返回其在顺序表中的位置,说明查找成功;

m0_62222486的博客 4956

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

XML学习之Dom方式解析XML文件

XML学习之Dom方式解析Xml文件 一、java解析XML概述   1.Xml解析方式分为两种:Dom方式和SAX方式。    (1)、DOM方式:Document Object Model,文档对象模型。这种方式是W3C推荐的处理XML的一种方式。    (2)、SAX:Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,   但是几乎所有的XML解

yanyu110991的专栏 3505

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Python xml.dom.minidom 模块:简易 XML 处理教程

是 Python 标准库中的一部分,属于 Document Object Model(DOM)的简化实现。DOM 把 XML 文档表示为树形结构,其中每个节点可以是元素、属性、文本等。minidom提供了易于使用的接口,让开发者可以方便地操作这个树形结构。模块为 Python 开发者提供了一种简单的方式来处理 XML 文档。它通过 DOM 模型将 XML 文档表示为树形结构,使得开发者可以方便地进行解析、创建、修改和删除操作。然而,由于其将整个文档加载到内存中,在处理大型 XML 文档时可能会受到性能限制。

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 1163

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

XML DOM

DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法。

Zff19880926的博客 793

理解XML DOM树结构

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_83915450的博客 931

深入学习 XML 解析器及 DOM 操作技术

XPath 是 XSLT 标准中的一个主要元素。它可用于浏览 XML 文档中的元素和属性。XPath 是定义 XML 文档部分的语法。XPath 使用路径表达式在 XML 文档中导航。XPath 包含标准函数库。XPath 是 XSLT 和 XQuery 中的主要元素XQuery 是 XML 的查询语言,类似于 SQL 对数据库的作用。XQuery 的设计目标是查询 XML 数据。XQuery 示例XQuery 是一种从 XML 文档中查找和提取元素和属性的语言。

小万哥的博客 1339

DOM、HTML DOM、XML DOM关系的深度解析

首先讲一讲DOM是什么。W3C(万维网联盟)定义了访问 HTML 和 XML 文档的标准—DOM。 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。 DOM“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式

爱看书的昌 的博客 3141

JavaWeb学习篇—XML的DOM解析

在上一篇博客:XML基础中说到,XML可以用作一个小型的数据库,那么这个“数据库”到底该怎么用呢??? 这就需要用到XML解析。这篇博客中,主要通过以下一个案例,来分析XML的DOM解析: 一、案例:xml实现的一个简单通讯录 编写一个XML文件(contact.xml),内容如下: 这时候,要想实现一个通讯录系统,首先要将xml文件中的内容提取出来,然后封装成一个联系人对象。 二...

A__B__C__的博客 738

dom解析xml

1. DOM简介目前,W3C已于2000年11月13日推出了规范DOM level 2。文档对象模型(DOM)是HTML和XML文档的编程接口规范,它与平台和语言是无关的,因而可以用各种语言在各种平台上实现。该模型定义了THML和XML文件在内存中的逻辑结构(即为文档),提供了访问、存取THML和XML文件的方法。利用DOM规范,可以实现DOM 文档和XML之间的相互转换,遍历、操作相应DOM文档

赵小刀的文字吧 2079

XML DOM学习

XML 文档对象模型定义访问和操作XML文档的标准方法。 XML DOM 是 XML Document Object Model 的缩写,即 XML 文档对象模型。 DOM 将 XML 文档作为一个树形结构,而树叶被定义为节点。 1、什么是 DOM? DOM 是 W3C(万维网联盟) 的推荐标准。 DOM 定义了访问诸如 XML 和 XHTML 文档的标准。 “W3C 文档对...

189

PHP XML DOM

内建的 DOM 解析器使在 PHP 中处理 XML 文档成为可能。

m0_72763148的博客 893
上一篇: XML学习
下一篇: XML DOM学习(二)
祯民
博客等级 码龄9年 72粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值