在 JavaScript 中创建 XML

2023-12-20

是否可以使用 JavaScript 中的一些数据创建 XML 文件?我将数据存储在变量中。

我用谷歌搜索了一下,似乎没有讨论太多。我以为我可以用XMLWriter比如这样:

var XML = new XMLWriter();
XML.BeginNode ("testing");
XML.Node("testingOne");
XML.Node("TestingTwo");
XML.Node("TestingThree");
XML.EndNode();

如本教程所述:EHow教程 http://www.ehow.com/how_5956065_create-xml-file-javascript.html

但是,当我执行此代码时,出现以下错误:

ReferenceError:未定义 XMLWriter

我该如何解决这个错误?


免责声明:以下答案假设您正在使用网络浏览器的 JavaScript 环境。

JavaScript 使用“XML DOM 对象”处理 XML。 您可以通过三种方式获取这样的对象:

1. 创建一个新的 XML DOM 对象

var xmlDoc = document.implementation.createDocument(null, "books");

第一个参数可以包含要创建的文档的名称空间 URI(如果该文档属于一个文档)。

Source: https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument

2. 使用 XMLHttpRequest 获取 XML 文件

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {

    var xmlDoc = xhttp.responseXML; //important to use responseXML here
}
xhttp.open("GET", "books.xml", true);
xhttp.send();

3. 解析包含序列化 XML 的字符串

var xmlString = "<root></root>";
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, "text/xml"); //important to use "text/xml"

当您获得 XML DOM 对象后,您可以使用方法来操作它,例如

var node = xmlDoc.createElement("heyHo");
var elements = xmlDoc.getElementsByTagName("root");
elements[0].appendChild(node);

如需完整参考,请参阅http://www.w3schools.com/xml/dom_intro.asp http://www.w3schools.com/xml/dom_intro.asp

笔记: 重要的是,您不要使用文档命名空间提供的方法,即。 e.

var node = document.createElement("Item");

这将创建 HTML 节点而不是 XML 节点,并将生成具有小写标签名称的节点。与 HTML 标签名称不同,XML 标签名称区分大小写。

您可以像这样序列化 XML DOM 对象:

var serializer = new XMLSerializer();
var xmlString = serializer.serializeToString(xmlDoc);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中创建 XML 的相关文章

  • 通过pm2运行node.js,但经常重新启动:通过信号[SIGINT]以代码[0]退出

    我试图在我的系统上运行 node js 但遇到了这个问题 2016 06 01 20 46 28 App app with id 13 and pid 12633 exited with code 0 via signal SIGINT 2
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • Angular 2 Material 2 日期选择器日期格式

    我不知道如何更改材料2日期选择器的日期格式 我已阅读文档 但我不明白我实际上需要做什么 datepicker默认提供的输出日期格式为f e 6 9 2017 我想要实现的目标是将格式更改为类似的格式9 Jun 2017或任何其他 文档htt
  • Javascript - 在加载所有图像后执行

    看了别人的问题我想 window onload 会回答我的问题 我已经尝试过这个 但它会在页面加载时立即执行代码 而不是在图像加载之后 如果有什么区别的话 图像来自 CDN 并且不是相对的 有人知道解决办法吗 我没有使用 jQuery 想要
  • Web 组件 - 服务/非 html 组件

    所以我来自 Angular 想看看如何创建vanilla Web components 现在 从 Angular 开始 我们倾向于将事物分开 组件 充当 HTML CSS 和一些 javascript 然后是 服务 主要负责收集数据和执行不
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • XML-RPC 和 SOAP 有什么区别?

    我从来没有真正理解为什么 Web 服务实施者会选择其中之一 XML RPC 通常出现在较旧的系统中吗 任何有助于理解这一点的帮助将不胜感激 差异 SOAP 更强大 并且更受软件工具供应商 MSFT NET Java 企业版等 的青睐 SOA
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • 在 React Navigation 中将 props 传递给自定义抽屉导航器

    在反应导航抽屉菜单中 我想显示用户名 John Doe 它处于我的主要组件的状态 Router 我怎样才能将自定义抽屉内容组件传递给它 额外信息 我从 AsyncStorage 中获取此名称 组件已挂载 这是我的代码 export defa
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • Flowtype 属性“msg”缺失为 null 或未定义

    我发现 Flow 很难用 我明白那个Array find可以返回或未定义 因此 通过阅读以下内容 github Array find on Array 引发 https github com facebook flow issues 351

随机推荐

  • 如何调试为什么最简单的 MySQL 查询返回 false?

    我和 xampp 一起工作 我执行MySQL连接 connection mysql connect host user passw mysql select db db connection 我收到了 echo 命令的输出 通过检查布尔返回
  • Miniprofiler.Current 方法不返回时间

    我正在尝试使用此代码来获得时间MiniProfiler var profiler StackExchange Profiling MiniProfiler Current 但它返回0 ms结果 如何获得current time在迷你分析器中
  • 如何搜索 Perforce 仓库 (P4V) 中的文件内容?

    我目前使用 Perforce 版本 2010 2 该版本似乎没有集成的搜索功能来遍历每个文件的内容 我当前的 P4V 版本仅允许我搜索文件名 但不能搜索内容 对此的任何意见将不胜感激 先感谢您 我相信 尝试 2010 1 版本中添加的 p4
  • 尾部斜杠和首字母 www

    我有这个 htaccess RewriteEngine On redirect with www RewriteCond HTTP HOST mydomain NC RewriteRule http www HTTP HOST 1 R 30
  • 在 MySQL 中,为什么在使用未提交读时从 select 设置变量会获取锁?

    我们在 MySQL 中有一个使用 InnoDB 的表 并且我们使用未提交读的事务隔离级别 为什么设置 x如图所示获取锁 mysql gt set x select userID from users limit 1 Query OK 0 r
  • 如何使用GetFileVersionInfo函数?

    我有这段代码 返回文件版本 到结构中 我使用 shell32 dll 作为示例 但有一些值我不理解它们的含义 并且希望得到解释 这是代码 void GetFileVersion PCHAR pFilePath PVERSION pRetVe
  • Maven Profile - 根据打包激活配置文件

    我有一个 POM 它声明了我的项目中常见的 Web 应用程序内容 我使用它作为所有 Web 应用程序的父级 是否可以仅在包装战争时激活配置文件 我尝试过属性方法 但这不起作用 因为它不是系统 环境属性 由于构建失败 我可以在安装 POM 时
  • Android Espresso - 如何检查 EditText 提示?

    我开始使用 Espresso 运行我的基本测试 现在想弄清楚如何检查我的编辑文本是否具有特定的提示文本 谢谢 onView withId R id locationInput check matches Since 浓缩咖啡2 0 http
  • 从不同数据库映射 Doctrine 中的实体时会抛出 ReflectionException

    我正在尝试在 ZF2 应用程序中使用 Doctrine 2 该应用程序包含两个模块 每个模块都有自己的数据库 我需要使用跨数据库联接 以便可以将一个模块中的实体与另一个模块中的实体关联起来 这是一个 UML 图 http yuml me 5
  • 如何将网站上的文件保存到SD卡

    有谁知道如何通过wifi将文件从网络服务器 本地主机 保存到SD卡 我正在对我的应用程序进行 xml 解析 为此我必须从 localhost 下载 xml 文件到 sdcard 然后标记解析 我一直在将 xml 文件下载到 SD 卡上 请指
  • 使用 xor reg, reg 是否比 mov reg, 0 有优势? [复制]

    这个问题在这里已经有答案了 在 x86 上有两种众所周知的方法将整数寄存器设置为零值 Either mov reg 0 or xor reg reg 有人认为第二种变体更好 因为值 0 没有存储在代码中 并且可以节省生成的机器代码的几个字节
  • mysql中行到列的转换

    下面是我的表结构 我想将其转换为另一种格式 从行到列类型 我已经尝试了很多 但我无法这样做 StudentID Mark Subject 10 46 Java 10 65 C 10 79 JavaScript 11 66 Java 11 8
  • PostgreSQL 中的 JSON 外键

    是否可以将外键分配给 PostgreSQL 中的 json 属性 这是我想要实现的示例 但它不起作用 CREATE TABLE Users Id int NOT NULL PRIMARY KEY CREATE TABLE Data Id i
  • %运行另一个笔记本时 Jupyter 中出现编码错误

    我在 Jupyter 笔记本中使用西里尔字母符号 在 NoteBook 1 中 我运行 NoteBook 2 run NB2 ipynb 在 NoteBook 2 中 我写入了一些 txt 文件 TestText open C TRASH
  • Dart 中的动态和对象有什么区别?

    它们看起来都可以在相同的情况下使用 类型检查等方面是否有不同的表示或不同的微妙之处 编辑以更新空安全 使用Object 代替Object 另一种观点dynamic它并不是真正的类型 它是一种关闭类型检查并告诉静态类型系统 相信我 我知道我在
  • Django 如何在更新用户时发送 post_save 信号?

    阅读文档后 https docs djangoproject com en dev topics signals https docs djangoproject com en dev topics signals 我在我的 signal
  • 为什么我在序言中找不到斑马谜题的答案?

    这是我目前的代码 我正在尝试解决斑马拼图 http en wikipedia org wiki Zebra Puzzle exists A A exists A A exists A A exists A A exists A A righ
  • bash: ./helloworld_s: 没有这样的文件或目录。文件明明就在那里

    我对 bash 并不陌生 但这是我第一次看到这种情况发生 OP localhost linking ls helloworld lib o helloworld lib s helloworld s OP localhost linking
  • 如果操作栏/工具栏为白色,菜单项上不会出现波纹

    我有白色工具栏 其中菜单项显示为操作 该操作是来自材质图标的黑色矢量资源 单击菜单项时没有波纹效果 因为波纹效果也是白色的 如果工具栏背景更改为其他颜色 例如蓝色 则会出现波纹 如何更改菜单项波纹颜色 使其在白色背景上可见 我试图改变颜色控
  • 在 JavaScript 中创建 XML

    是否可以使用 JavaScript 中的一些数据创建 XML 文件 我将数据存储在变量中 我用谷歌搜索了一下 似乎没有讨论太多 我以为我可以用XMLWriter比如这样 var XML new XMLWriter XML BeginNode