XML DOM 中的元素如何更新?

问题描述 投票:0回答:1

到目前为止,这是我的理解:

  1. DOM 是网页上所有称为对象的元素的图形表示。这些对象/元素显示和构造为树或地图。

  2. DOM 还有另一个方面。除了是元素/虚拟对象树之外,它还是一个基于平台和中立软件的界面,即允许程序和脚本动态访问和更新网页的内容、结构和样式的 API。换句话说,它允许对网页进行操作,因为它定义了如何读取、更改、添加和删除元素,这类似于数据库的 CRUD 功能。

  3. W3C DOM 标准分为 3 个不同的部分

  • 核心 DOM(用于操作 XML 和 HTML 页面的接口)
  • XML DOM(用于操作 XML 页面的接口)
  • HTML DOM(用于操作 HTML 页面的接口)

所以根据我所做的研究以及将以上所有三点放在一起,到目前为止我得到的是 HTML DOM 是通过 JavaScript 访问的,并且您可以从 JavaScript 操作网页上的信息,例如改变元素等等。但我的问题是,如果 XML 本身不支持 JavaScript,您如何通过 XML DOM 操作页面内容?

我能够在网站上找到以下三个帖子,但它们没有回答我的问题,因为它专门涉及页面内容 XML DOM 的操作:

*XML DOM和HTML DOM有什么区别

*HTML DOM和XML DOM有什么区别

*如何在 xml 文档中包含 Javascript?

javascript html xml dom xhtml
1个回答
0
投票

XML 本身就是数据格式——它不定义标签。标签的含义是下一层的一部分——符合 XML 语法的格式/语言。

大多数基于 XML 的格式不支持脚本。应用程序(例如带有 Javascript 的网页)将它们加载到 DOM 中以读取数据。

HTML 和 XHTML 是标记语言。两者都可以解析成 DOM,但只有 XHTML 是 XML 格式。他们定义并支持

script
元素。脚本只会在您呈现页面时执行,如果您只是将文档加载到 DOM 中则不会执行。渲染引擎将执行脚本——而不是 DOM 解析器。然而,浏览器为您提供了访问 DOM 及其渲染的权限,并允许您对其进行操作。

SVG 是另一种支持脚本的 XML(图形)格式。它可以引用和嵌入 JavaScript。但是,如果将它们加载到

img
标签中,它们将不会被执行,您需要嵌入它们或使用
object
标签。

另一个选项是使用处理指令引用 XSLT 的(格式良好的)XML。 XSLT 是一种用于转换 XML 的编程语言。浏览器执行 XSLT 将 XML 转换为 (X)HTML,然后它可以呈现为网页。生成的输出可能包含脚本标签。在这种情况下,您从脚本访问的 DOM 代表生成的输出——而不是原始的 XML。

© www.soinside.com 2019 - 2024. All rights reserved.