我有一个非常长的字符串,从XML文件中读取。 我需要循环遍历此字符串并找到以下参数:
CreatedBy="?"
然后我想要替换""使用整数,所以我们称之为myValue。如何搜索它找到的每个地方CreatedBy ="并取代它接下来发现的结果直到结束"用myValue?
int myValue = 7;
string myXml = File.ReadAllText(filePath);
答案 0 :(得分:1)
你可以做这样的事情
myXml = myXml.Replace("CreatedBy=\"?\"", "CreatedBy=\"7\"");
但正如一些评论所暗示的那样,如果您将XML读入XDocument并通过该对象操纵数据,那么您可能会更好。
修改强> 如果你不知道CreatedBy的价值(但如果你知道它是一个整数),你可以使用Regex来做这样的事情
int myVal = 7;
Regex regex = new Regex("CreatedBy=\"[0-9]*\"");
myXml = regex.Replace(myXml, String.Format("CreatedBy=\"{0}\"", myVal));
如果使用XDocument
对象,它仍然会更易读,也更容易理解。