如何使用linq修改字符串中的内容
<kyc_template>    
	<form_fields>      
		<field field_name="Address" field_code="address"	table_field_name="address"	field_data_type="1" line="1" required="False" reference_data_type="" />      
		<field field_name="city"	field_code="city"		table_field_name="city"		field_data_type="1" line="2" required="False" reference_data_type="" />      
		<field field_name="province" field_code="province" table_field_name="province" field_data_type="1" line="2" required="False" reference_data_type="" /> 
	</form_fields>  
</kyc_template>
以上是表中某个字段的内容,现在需要将 line="2" 的field的required的值都改为“True”,最后写会数据库。
              
              
------解决方案--------------------如果符合xml格式,就用linq的xdocument去更改节点属性值,然后将xml字符串update回去
------解决方案--------------------string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
            str = Regex.Replace(str, @"(?<=<field(?=[^>]*?line=""2"")[^>]*?required="")[^""]+(?="")", "True");
            
------解决方案--------------------		XmlDocument xmlDoc = new XmlDocument();
		xmlDoc.LoadXml("你的xml文本");
		xmlDoc.SelectNodes("//field[@line='2']").Cast<XmlNode>().ToList().ForEach(x => x.Attributes["required"].Value = "true");
		xmlDoc.Save(@"c:\test.xml");