更改xml、Xamarin ios C#中的值

本文关键字:ios xml Xamarin 更改 | 更新日期: 2023-09-27 18:28:19

我想更改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。我的代码出了什么问题?谢谢你的帮助。

更改xml、Xamarin ios C#中的值

您正在尝试更新文档。OuterXml?Xml文档似乎是您正在使用的一个模板,因此我猜它需要保留原始占位符,如{StreetName},然后是基于该模板生成的另一个Xml文档,甚至只是一个Xml字符串。

编写的代码没有修改XmlDocument文档。代码将xml字符串复制到值NameValueCollection中,然后更新xml的副本,而不是原始XmlDocument。

我认为您可以只使用从值["Order"]返回的字符串。我猜,如果您要将其与WebClient一起使用并使用它调用API,则不需要再次将其加载到XmlDocument中,甚至不需要加载到XmlDocument-doc变量中。