如何在jquery中替换字符后的字符串?

时间:2014-08-19 18:32:30

标签: jquery xml

如何在jquery中的字符后替换字符串? 我有以下xml字符串。它可以很好地形成,并且在某些时候形式不好。所以我不能使用jquery xml解析器。我想要做的是取出ExtnLockID='123456'并替换为ExtnLockID='some string'。 ExtnLockID的值(123456)是动态的,而不是123456。

<myOr>
    <Extn ExtnLockID='123456' something="here"/>
    <ship cut='0001' any='2' orig='1' node='1'>
        <Extn type='RELEASE' ref='xey-15504'>
            <home>
                <howdy mesg='5a2a68a0-9ea0-4443-9d96-7923e42d52c6'/>
            </home>
        </Extn>
        <bab>
            <someone docum='0001' home='SL' class='GOOD' qua='1.000000' no='0'>
                <XEX acot='121152' dotz='RELEASE'/>
            </someone>
        </bab>
    </ship>
</myOr>

结果应为:

<myOr>
        <Extn ExtnLockID='some string' something="here"/>
        <ship cut='0001' any='2' orig='1' node='1'>
            <Extn type='RELEASE' ref='xey-15504'>
                <home>
                    <howdy mesg='5a2a68a0-9ea0-4443-9d96-7923e42d52c6'/>
                </home>
            </Extn>
            <bab>
                <someone docum='0001' home='SL' class='GOOD' qua='1.000000' no='0'>
                    <XEX acot='121152' dotz='RELEASE'/>
                </someone>
            </bab>
        </ship>
    </myOr>

2 个答案:

答案 0 :(得分:0)

你可以做到

var newValue = "some string";
xml = xml.replace(/(ExtnLockID=')([^']*)(')/, "$1"+newValue+"$3");

答案 1 :(得分:-1)

var $xml = $(xml),
    $elem = $xml.find('[ExtnLockID]'),
    oldvalue = $elem.attr('ExtnLockID');
$elem.attr('somestring'); // update value