private XmlNode createMissingNodes(string destinationParentXPath, XmlNode parentNode, XmlDocument doc, string name)
{
string dif = destinationParentXPath;
List<string> temp = dif.Split('/').ToList();
temp.RemoveAt(0);
XmlNode parentTemp = parentNode;
foreach (string s in temp)
{
if (BExIS.Xml.Helpers.XmlUtility.GetXmlNodeByName(parentTemp, s) == null)
{
XmlNode t = BExIS.Xml.Helpers.XmlUtility.CreateNode(s, doc);
parentTemp.AppendChild(t);
parentTemp = t;
}
else
{
XmlNode t = BExIS.Xml.Helpers.XmlUtility.GetXmlNodeByName(parentTemp, s);
if (temp.Last().Equals(s))
{
if (!t.Attributes["name"].Equals(name))
{
t = BExIS.Xml.Helpers.XmlUtility.CreateNode(s, doc);
parentTemp.AppendChild(t);
}
}
parentTemp = t;
}
}
return parentTemp;
}