【问题标题】:How to create self enclosing element javascript XML DOM?如何创建自封闭元素javascript XML DOM?
【发布时间】:2014-07-11 06:42:28
【问题描述】:

我想创建类似的元素,

<Object name="object name" value="object value" />

但每次我都结束了

<Object name="object name" value="object value"></Object>

我正在使用这段代码

parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
newel = xmlDoc.createElement("Object");
x=xmlDoc.getElementsByTagName("Page")[0];
x.appendChild(newel);

有什么建议吗?

【问题讨论】:

  • 根据 w3c 标准,它会自动关闭元素,而不是自动关闭。没办法……
  • 好的,谢谢,有什么解决方法吗?除了字符串操作?

标签: javascript jquery xml xml-parsing xmldom


【解决方案1】:

空 XML 元素的两种表示是完全等价的。在 DOM 表示中,您有一个名为“Object”的元素,它没有任何(非属性)子级。如果你解析这两个 XML 字符串,你会得到完全相同的 DOM。

不同的文本表示取决于您如何将 DOM 树序列化为文本。

【讨论】:

  • 如何用一个选项序列化 DOM 树?我正在使用var xmlString = new XMLSerializer().serializeToString(xmlDoc);
  • 我担心没有办法自定义 XMLSerializer 以将空元素呈现为自闭合元素。如果你真的需要,最简单的方法可能是使用字符串操作。
猜你喜欢
  • 2012-07-05
  • 2011-07-22
  • 1970-01-01
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 2019-08-10
  • 2010-10-17
相关资源
最近更新 更多