【发布时间】:2015-01-01 18:56:52
【问题描述】:
我有一个如下所示的字符串:
newNodeXML = "<item id="qDf73w8emTg" parent_id="weLPzE243de" type="suite">
<content>
<name>Three</name>
</content>
</item>"
在我的 [WebMethod] 中,我尝试像这样替换 parent_ID(在运行时随机生成):
Regex myRegex = new Regex(@""" parent_id=""(.*?)"" type=""");
newNodeXML = myRegex.Replace(newNodeXML, "d43df2qT45");
请注意,例如/演示,我在上面的第二行中使用了“d43df2qT45”。我实际上也会随机生成。
我的问题是这样的结果。 我不想这样:
<item id="qDf73w8emTgd43df2qT45suite">
<content>
<name>Three</name>
</content>
</item>
相反,这就是我想要它的样子:
<item id="qDf73w8emTg" parent_ID="d43df2qT45" type="suite">
<content>
<name>Three</name>
</content>
</item>
附:我尝试了一些示例/谷歌搜索,我能找到的只是让我走到这一步的示例。
【问题讨论】:
-
Regex 可能是错误的做法。查看stackoverflow.com/questions/2424613/…
-
parent_id值的长度是否固定且事先已知? -
你为什么不反序列化这个内容,改变你需要的然后再序列化它?
-
您是否专门寻找正则表达式解决方案?
-
我可以用任何解决方案来解决这个问题。不必专门的正则表达式。但我猜@Guffa 的回答刚刚奏效。如果有人认为正则表达式不是解决此问题的最有效方法,请随时提出替代方案。