I have an output XML file with the following structure
<OFBM time="10:32" date="06.10.2017" saveName="Unnamed save">
<folder name="file:///C:/Users/AD/Downloads" />
<folder name="file:///C:/Users/AD/Desktop/t" />
<folder name="file:///C:/ProgramData/OFBM" />
</OFBM>
date and time combination are unique. How based on time, and date, I can parse a value that will change the saveName attribute? What's the best way of doing it?
This is what I wrote up
public void saveNames(string time, string date, string folderName)
{
if(folderName == "Unnamed save")
return;
XElement root = XElement.Load(pathToXml);
IEnumerable<XElement> address =
from el in root.Elements("OFBM")
where (string)el.Attribute("time") == time
where (string)el.Attribute("date") == date
select el;
foreach (XElement el in address.Elements("saveName"))
{
el.ReplaceWith(folderName);
}
root.Save(pathToXml);
}
Also tried this
// <OFBM time="10:30" date="06.10.2017" saveName="Unnamed save">
XPathDocument document = new XPathDocument(pathToXml);
//The XPathNavigator object is used for read-only XPath queries. The XPath queries may return a resulting value or many nodes
XPathNavigator documentNav = document.CreateNavigator();
// This expression uses standard XPath syntax.
string filter = "@*";
XPathNodeIterator NodeIter = documentNav.Select(filter);
while (NodeIter.MoveNext())
{
Console.WriteLine("Save: {0}", NodeIter.Current.Value);
};
PS. My code changes nothing, however.