繁体   English   中英

JS Regex删除某些html标签(包括标签)之外的所有内容

[英]JS Regex to remove everything outside certain html tags (including tags)

我有一个需要通过JS REGEX解析的SOAP输出,(我知道有很多js库可以完成这项工作,而且我知道regex并不是解析html / xml的最好方法,但是在这种情况下,它必须通过正则表达式来完成)...

这是格式...

*huge header*
<NewDataSet>
*content*
</NewDataSet>
*rest of footer*

我需要ro删除<NewDataSet></NewDataSet>之外的所有内容(包括它们),并将标记保留在*content*区域中,保持不变。

我一直在努力使这项工作可行,但似乎比我预期的要难...请有人帮忙

既然您提到要使用javascript正则表达式,这听起来像是有javascript,为什么不这样使用javascript?

http://jsfiddle.net/gHwd6/1/

var ds = document.getElementsByTagName('NewDataSet')[0];
var t = ds.getElementsByTagName('NewTable')[0];
ds.parentNode.replaceChild(t, ds);

假定只有一个NewDataSet标记,并且要保留的NewDataSet中只有一个表名为NewTable 听起来每个NewTable只有一个,所以您只需将NewTable更改为您所需要的名称即可。

编辑看到你最近的评论/编辑似乎改变你的要求后,尝试这样做是为了您收到的数据:

myData = myData.getElementsByTagName('NewDataSet')[0].innerHTML;

这是一个显示该应用程序的示例(查看您的控制台以查看它正在返回所需的输出): http : //jsfiddle.net/qmnNn/

请通过回答或发表评论来答复,让我们知道是否有什么适合您的产品或您可能仍然遇到的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM