Прыведзеныя ніжэй лініі фрагменце кода заключаецца ў абнаўленні XML запіс InfoPath(файл)
SPList _list = _web.Lists[“SampleFormLib”];
MemoryStream myInStream = новы MemoryStream(item.File.OpenBinary());
XmlTextReader чытач = новы XmlTextReader(myInStream);
XmlDocument док = новы XmlDocument();
doc.Load(чытач);
reader.Close();
myInStream.Close();
XmlNamespaceManager nameSpaceManager = новы XmlNamespaceManager(doc.NameTable);
nameSpaceManager.AddNamespace(“мой”, “http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-06-11T12:44:57“);
doc.DocumentElement.SelectSingleNode(“мой:Статус”, nameSpaceManager).Унутраная Text = “Захаваныя”;
doc.DocumentElement.SelectSingleNode(“мой:SaveDate”, nameSpaceManager).InnerText = DateTime.Today.ToString();
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
SPFile newFile = _web.Folders[“SampleFormLib”].Files.Add(item.File.Name.ToString(), (encoding.GetBytes(doc.OuterXml)), праўда);
item.File.Update();
Make sure you execute item.File.Update() для фіксацыі змяненняў (Я атрымаў памылкі пры выканання item.Update() and spent couple of hours to find 🙁 )
Разглядалі вы дадаць некаторыя розныя меркаванні ў вашай артыкуле? Я думаю, гэта можа павысіць гледачы разумення.