我有一个xml文件,我需要
<?xml version='1.0' encoding='UTF-8'?><ns0:TradeMessage xmlns:ns0="http://aptp.accenture.com/BuySell">
<SecuritiesTrade>
<Direction>BUY</Direction>
<Other Tags>
</other Tags>
</SecuritiesTrade>
</ns0:TradeMessage>
现在我想要的是使用正则表达式并仅删除此标记:
我应该使用什么正则表达式,以便输出为:
<?xml version='1.0' encoding='UTF-8'?>
<SecuritiesTrade>
<Direction>BUY</Direction>
<Other Tags>
</other Tags>
</SecuritiesTrade>
答案 0 :(得分:1)
尝试这种模式:
<\/?ns0:TradeMessage(?:[^>]*)>
我们的想法是匹配一个开放标记:<
然后是可选的斜线:\/?
然后是ns0:TradeMessage:ns0:TradeMessage
后跟除了关闭标记之外的任何字符:(?:[^>]*)
然后是一个关闭标记:>
var str = "<?xml version='1.0' encoding='UTF-8'?><ns0:TradeMessage\n"+ "xmlns:ns0=\"http://aptp.accenture.com/BuySell\">\n"+
" <SecuritiesTrade>\n"+
" <Direction>BUY</Direction>\n"+
" <Other Tags>\n"+
" </other Tags>\n"+
" </SecuritiesTrade>\n"+
"</ns0:TradeMessage>";
var regex = /<\/?ns0:TradeMessage(?:[^>]*)>/g;
alert(str.replace(regex,""));
这是另一个DEMO