0

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

这是格式...

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

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

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

4

1 回答 1

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标签和表中只有一个,命名为。听起来您每个人都只有一个,因此您可以将其更改为您所称的任何内容。NewDataSetNewTableNewTable

在看到您最近的评论/编辑似乎改变了您的要求后进行编辑,请尝试对您收到的数据执行此操作:

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

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

请通过检查答案或评论来回复,让我们知道某些东西是否对您有用或您可能仍然遇到什么问题。

于 2013-05-07T13:35:33.700 回答