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

时间:2013-05-07 13:07:46

标签: javascript html regex xml-parsing

我有一个需要通过JS REGEX解析的SOAP输出,(我知道有很多js库可以完成这项工作,我知道正则表达式不是解析html / xml最好的东西,但是在这个必须通过正则表达式完成... ...

这是格式......

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

我需要删除<NewDataSet></NewDataSet>之外的所有内容(包括它们,并将标记保留在*content*区域中,不受影响......

我一直在尝试做这项工作,但它似乎比我预期的更难......请,有人帮忙

1 个答案:

答案 0 :(得分:0)

听起来你有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更改为你的名字。

在看到您最近的评论/编辑后,

修改似乎会改变您的要求,请尝试对您收到的数据执行此操作:

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

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

请通过查看答案或发表评论来回复,告诉我们您是否有适合自己的事情或者您可能仍然遇到的问题。