我想要更改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/

10-09 16:45