今天实现了动态的给一个XML字符串添加节点。
实现如下:
1.首先加XML字符串放置在textarea 域
<textarea rows="30" cols="65" name="xml" id="xml" style="display:none;"> <?xml version="1.0" encoding="UTF-8" ?> <AdvPay> <PubInfo> <DigestAlg>MD5</DigestAlg> <VerifyCode>xxxxxx</VerifyCode> </PubInfo> <BusiData> <AccountType>1</AccountType> <AccountCode>15868477618</AccountCode> <RoyaltyFlag>0</RoyaltyFlag> </BusiData> </AdvPay> </textarea>
2、动态添加节点,在节点之后,节点之前添加
节点和节点。添加完成之后重新给textarea域赋值。至此就完成了对XML的修改。
var phone=$('#phone').val(); var authCode=$('#authCode').val(); var text = $('#xml').val(); //添加AuthCode节点和Phone节点 var posHead = text.indexOf('<BusiData>'); var posEnd = text.indexOf('<AccountType>'); var strHead = text.substring(0, posHead) + '<BusiData>'; var strEnd = text.substring(posEnd); code = '<AuthCode>'+authCode+'</AuthCode><Phone>'+phone+'</Phone>'; $('#xml').val(strHead + code + strEnd);