使用正则表达式修改xml文件

时间:2015-08-04 04:04:44

标签: javascript regex xml

我有一个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>

1 个答案:

答案 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