javascript - 在 Windows 8 Javascript 应用程序中将 XML 的字符串表示形式转换为 XML DOM 对象

标签 javascript xml dom windows-8 windows-store-apps

我正在创建一个 Windows 8 JavaScript 应用程序,我需要转换一个字符串,如下所示:

<p>
  blah blah blah
</p>
<div>
  <p>
    random dom stuff
  </p>
</div>

进入 XML DOM 对象,这样我就可以使用 DOM 方法(即 getElementByID())遍历它。

我尝试了两种方法

 //retrieve text to process
 var content = xml.querySelector("api > parse > text").textContent;

 //1
 var contentXML = new DOMParser().parseFromString(content, "text/xml");

 //2
 var newContentXML = new ActiveXObject("Microsoft.XMLDOM");
 newContentXM.async = false;
 newContentXM.loadXML(content);

都失败了。 #1 仅允许一个根元素。,#2 自动化服务器无法创建对象。无法加载类 ID 为“{2933BF90-7B36-11D2-B20E-00C04F983E60}”的 ActiveX 插件。应用程序无法加载 ActiveX 控件。

我看过的所有地方都说 #2 是您应该如何在 IE 中执行此操作,并且我假设 W8 JS 应用程序使用与 IE 相同的 JavaScript 引擎。

如何将文本转换为 XML DOM 对象?

最佳答案

DOMParser 没问题,错误也准确。 parseFromString 返回文档的实例,但您的文本没有定义单个文档根,它是两个的串联:一个段落和一个 div。

以下内容将起作用:

<div>
  <p>
    blah blah blah
  </p>
  <div>
    <p>
      random dom stuff
    </p>
  </div>
</div>

顺便说一下你的原始字符串,

  • Chrome 的 DOMParser 实现也会抛出错误“文档末尾有额外内容”
  • Firefox 产生“XML 解析错误:文档元素后出现垃圾。”

关于javascript - 在 Windows 8 Javascript 应用程序中将 XML 的字符串表示形式转换为 XML DOM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659468/

相关文章:

javascript - 区分 html 和 css 扇区

Javascript:在链接页面上显示/隐藏div

python - 员工标签验证错误的 odoo 分配请求?

javascript - 如何使用 YUI3 将 JavaScript 对象标准化为 DOM 元素?

javascript - 如何将数组元素附加到div?

javascript - 如何同时切换多个 div 的功能?

javascript - 如何使用正则表达式在 JavaScript 中过滤 HTML 标签中的字符串

android - LayoutInflater 用于使用 xml 和 View 类

C# 使用命名空间格式化 XML 文档输出

javascript - 根据单选按钮的选择显示 HTML 表单