我想要更改xml中的值,但它没有更改
我的代码:
var doc = new XmlDocument();
var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var filePath = Path.Combine(documentsPath, "myFile.xml");
doc.Load (filePath);
Console.WriteLine ("Zagruzilsa");
Console.WriteLine (doc.OuterXml);
send_zakaz.TouchUpInside += (o,s) => {
using (var client = new WebClient ()) {
street = ulitsa.Text;
kvart = kvartira.Text;
house = dom.Text;
FIO = fio.Text;
code = kod.Text;
telephone = tel.Text;
comment = coment.Text;
var values = new NameValueCollection ();
values ["Order"] = doc.OuterXml;
values ["Order"] = values ["Order"].Replace ("{StreetName}", street.ToString());
values ["Order"] = values ["Order"].Replace ("{FlatName}", kvart);
values ["Order"] = values ["Order"].Replace ("{HouseName}", house);
values ["Order"] = values ["Order"].Replace ("{FIO}", FIO);
values ["Order"] = values ["Order"].Replace ("{Code}", code);
values ["Order"] = values ["Order"].Replace ("{Phone}", telephone);
values ["Order"] = values ["Order"].Replace ("..", comment);
Console.WriteLine("Proverka "+street);
Console.WriteLine(doc.OuterXml);
values ["OrderText"] = "hello";
我有与开始活动时一样的xml。
我的代码有什么问题?
感谢帮助。
最佳答案
您正在尝试更新doc.OuterXml吗? Xml文档似乎是您正在使用的模板,因此我想它需要保留在原始占位符(例如{StreetName})中,然后再根据该模板生成另一个xml文档,甚至只是一串xml。 。
编写的代码未修改XmlDocument文档。该代码将xml字符串复制到值NameValueCollection中,然后更新该xml副本而不是原始XmlDocument。
我假设您只能使用从values [“ Order”]返回的字符串。我猜想,如果您打算将其与WebClient一起使用并与其调用API,则无需再次将其加载到XmlDocument中,甚至不必加载到XmlDocument doc变量中。
关于c# - 更改xml,Xamarin iOS C#中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34511547/