【发布时间】:2017-04-23 11:09:39
【问题描述】:
我在使用 Javascript 处理 XML 时遇到了问题,因为 Node 模块(libxslt 和 libxmljs)不知道如何处理自结束标记。通过一些不同的测试,我已将问题缩小到自闭合的 XML 元素,如下例中的中心元素:
var string =
"<head>
<body>
<example />
</body>
</head>"
简单地说,我需要一种去除方法
<example />
完全;不知道之前的位置,因为在一个文档中有多个,并且没有直接解决标签名称,因为自闭标签因文档而异。
如果 .replace() 获取参数的位置 ID,它可以与函数一起用作第二个参数。像这样的:
string.replace('/>', function(match){
//search from match back for the closest '<' and remove that substring.
})
【问题讨论】:
-
找到一个确实理解自闭合标签并且忘记尝试对 XML 内容使用正则表达式的 XML 解析器。
-
“Node 模块(libxslt 和 libxmljs)不知道如何处理自闭标签”——他们知道。你使用它们的方式一定有问题。
-
"在下面的示例中" — 不会编译。 SyntaxError: 无效或意外的令牌
-
There must be something wrong with how you are using them- 也许 OP 可以展示他如何使用它们,从而避免 summoning zalgo 的诱惑
标签: javascript xml replace node-modules