更改 xml、Xamarin ios C# 中的值

Change values in xml, Xamarin ios C#

我想更改 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";

我有与 activity 开头相同的 xml。 我的代码有什么问题? 感谢您的帮助。

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

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

我假设您可以只使用从 values["Order"] 返回的字符串。我猜它不需要再次加载到 XmlDocument 中,甚至不需要加载到 XmlDocument doc 变量中,如果你打算将它与 WebClient 一起使用并调用 API 用它。