我有一个字符串形式的XML。
<Message>
<Header>
<MsgId></MsgId>
<ClientAppSeq>CNB110833</ClientAppSeq>
<ClientAppGrpSeq>CNB</ClientAppGrpSeq>
<Status>
<System>1111111111</System>
<StatusCode>2222222222</StatusCode>
<Severity>3333333333</Severity>
<StatusDesc>4444444444</StatusDesc>
</Status>
</Header>
<TrxSvcRq>
<Tx123Rq>
<ContentHeader>
<Filler1></Filler1>
<MessageType></MessageType>
<MessageLength></MessageLength>
<CycleNumber>170523</CycleNumber>
<MessageNumber>200257</MessageNumber>
</ContentHeader>
<TitleHeader>
<MessageNumber>abcdefg</Message>
<Title>HIHIHIHI</Title>
</TitleHeader>
</Tx123Rq>
</TrxSvcRq>
</Message>
我想仅在
下替换20057<ContentHeader></ContentHeader>
我该怎么做?
有人能帮助我吗?
谢谢
答案 0 :(得分:0)
这应该有效:
str = str.replace("<MessageNumber>200257</MessageNumber>", "<MessageNumber>123456</MessageNumber>")
答案 1 :(得分:0)
你只需要对字符串进行简单的替换:
String xml = "<Message>...</Message>"
xml = xml.replace("Number>200257</Message", "Number>123456</Message")
你不需要将整个应用程序纳入
答案 2 :(得分:0)
xml = xml.replaceFirst("(?<=\<MessageNumber>)\d*", newValue);
将使用您想要赋予它的任何newValue替换元素中存在的任何值(假设newValue和xml都是String对象)。