【发布时间】:2019-11-05 13:57:24
【问题描述】:
你好有以下xml:
<?xml version="1.0" encoding="UTF-8"?>
<library>
<item>
<books>
<?xml version="1.0" encoding="UTF-8"?>
<Fiction>
<tt:Author>A</tt:Author>
<tt:BookName>45</tt:BookName>
</Fiction>
</books>
</item>
</library>
我想基本上用空格替换整个 xml 标记的第二次出现。所以基本上用空格替换出现在<books>开始标签之后的<?xml version="1.0" encoding="UTF-8"?>字符串。
有什么建议吗?我尝试了其他链接,但无法获得有效的解决方案。问题是在 xml 标记和字符串替换函数之间有 ", ? and > 将其视为转义序列字符。
这是我尝试过的:
var stringToReplace = '<?xml version="1.0" encoding="UTF-8"?>';
var string = data.string;
//console.log(string);
var t=0;
var text = string.replace(/stringToReplace/g, function (match) {
t++;
return (t === 2) ? "Not found" : match;
});
console.log(text);
上面仍然打印两个 xml 标签
【问题讨论】:
-
这个 xml 是从哪里来的?
-
它来自外部api
-
外部 API 没有生成有效的 XML。您应该联系供应商并要求他们更正;您可以将它们指向Are multiple XML declarations in a document well-formed XML?
-
@AndrewMorton 我认为这是不可能的。感谢您的评论
标签: javascript xml string