--- xmlTools/trunk/posUpdate/XmlTools.cs 2013/03/21 10:43:10 714 +++ xmlTools/trunk/posUpdate/XmlTools.cs 2013/05/09 10:37:17 867 @@ -9,17 +9,19 @@ namespace xmlTools { private XmlDocument xdoc; private string posElement, posParentElement; + private bool noBackups; - /// /// Our constructor + /// /// /// /// /// - public XmlTools(string posElement, string posParentElement = "") + public XmlTools(string posElement, string posParentElement = "", bool noBackups = false) { this.posElement = posElement; this.posParentElement = posParentElement; + this.noBackups = noBackups; } /// @@ -29,13 +31,16 @@ namespace xmlTools /// public void replaceAll(string file, string value, string valuePositions = "") { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); List myElements = new List(); - Util.getAllSpecificElements(xdoc.DocumentElement, ref myElements,this.posElement,this.posParentElement); //Returns all after "Oni" element + Util.getAllSpecificElements(xdoc.DocumentElement, ref myElements, this.posElement, this.posParentElement); //Returns all after "Oni" element - if (valuePositions != "") + if (!String.IsNullOrEmpty(valuePositions)) { checkValidSpecificPositions(valuePositions, value, myElements[0].InnerText); } @@ -44,11 +49,11 @@ namespace xmlTools { if (element.Name == posElement) { - if (posParentElement != "" && element.ParentNode.Name != posParentElement) + if (!String.IsNullOrEmpty(posParentElement) && element.ParentNode.Name != posParentElement) { continue; } - if (valuePositions == "") //replace every value for the new + if (String.IsNullOrEmpty(valuePositions)) //replace every value for the new { element.InnerText = value; } @@ -70,7 +75,10 @@ namespace xmlTools /// public void addValues(string file, string values) { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); XmlTextValue myInputValues = new XmlTextValue(values); @@ -82,13 +90,14 @@ namespace xmlTools { if (element.Name == posElement) { - if (posParentElement != "" && element.ParentNode.Name != posParentElement) + if (!String.IsNullOrEmpty(posParentElement) && element.ParentNode.Name != posParentElement) { continue; } XmlTextValue myXmlSubValues = new XmlTextValue(element.InnerText); - foreach(String myInputValue in myInputValues.myValues){ + foreach (String myInputValue in myInputValues.myValues) + { bool alreadyExists = false; foreach (String myXmlSubValue in myXmlSubValues.myValues) { @@ -102,7 +111,7 @@ namespace xmlTools //if it doesn't exists already let's add it if (!alreadyExists) { - element.InnerText += " "+myInputValue; + element.InnerText += " " + myInputValue; } } } @@ -118,7 +127,10 @@ namespace xmlTools /// public void replaceValue(string file, string oldValue, string newValue) { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); List myElements = new List(); @@ -128,21 +140,22 @@ namespace xmlTools { if (element.Name == posElement) { - if (posParentElement != "" && element.ParentNode.Name != posParentElement) + if (!String.IsNullOrEmpty(posParentElement) && element.ParentNode.Name != posParentElement) { continue; } XmlTextValue myXmlSubValues = new XmlTextValue(element.InnerText); - for(int i=0; i public void removeValues(string file, string values) { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); XmlTextValue myInputValues = new XmlTextValue(values); @@ -168,7 +184,7 @@ namespace xmlTools { if (element.Name == posElement) { - if (posParentElement != "" && element.ParentNode.Name != posParentElement) + if (!String.IsNullOrEmpty(posParentElement) && element.ParentNode.Name != posParentElement) { continue; } @@ -176,7 +192,8 @@ namespace xmlTools foreach (String myInputValue in myInputValues.myValues) { - for(int i=0; i public void changeValue(string file, string newValue, string valueRelation = "", string valuePositions = "") { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); XmlNumberValue xmlLastPos = null, newXmlLastPos = null; @@ -209,7 +229,7 @@ namespace xmlTools List myElements = new List(); Util.getAllSpecificElements(xdoc.DocumentElement, ref myElements, this.posElement, this.posParentElement); //Returns all after "Oni" element - if (valuePositions == "") + if (String.IsNullOrEmpty(valuePositions)) { newXmlLastPos = new XmlNumberValue(newValue); } @@ -218,18 +238,18 @@ namespace xmlTools newXmlLastPos = new XmlNumberValue(replaceSpecificPositions(myElements[0].InnerText, newValue, valuePositions)); } - if (valuePositions != "") + if (!String.IsNullOrEmpty(valuePositions)) { checkValidSpecificPositions(valuePositions, newValue, myElements[0].InnerText); } foreach (XmlNode element in myElements) { - if (element.Name == this.posElement && (this.posParentElement == "" || this.posParentElement == element.ParentNode.Name)) + if (element.Name == this.posElement && (String.IsNullOrEmpty(this.posParentElement) || this.posParentElement == element.ParentNode.Name)) { XmlNumberValue xmlCurrValue = new XmlNumberValue(element.InnerText); - if (xmlLastPos != null) + if (xmlLastPos!=null) { newXmlLastPos = XmlNumberValue.sum(newXmlLastPos, XmlNumberValue.difference(xmlCurrValue, xmlLastPos)); element.InnerText = newXmlLastPos.ToString(); @@ -237,7 +257,7 @@ namespace xmlTools } else { // first time just assign to last value - if (valueRelation != "") + if (!String.IsNullOrEmpty(valueRelation)) { newXmlLastPos = XmlNumberValue.difference(newXmlLastPos, XmlNumberValue.difference(new XmlNumberValue(valueRelation), xmlCurrValue)); } @@ -255,7 +275,10 @@ namespace xmlTools /// public void invert(string file) { - Util.backupFile(file); + if (!this.noBackups) + { + Util.backupFile(file); + } loadXmlFile(file); //Inverting the element order @@ -266,7 +289,7 @@ namespace xmlTools //Read all and save to the list foreach (XmlNode element in myElements) //Returns all after "Oni" element { - invertedOrder.Add(element.InnerText); + invertedOrder.Add(element.InnerText); } //Let's start taking from the list to new xml file (inverted order) @@ -309,7 +332,7 @@ namespace xmlTools { if (pos > testFirstRealValue.myValues.Count - 1 || pos < 0) //Are positions valid for the current values? //-1 because starts at 0 { - Program.printAppError(Program.appErrors.INVALID_POSITIONS_RANGE, "The positions values are not in the range of the value to replace (pos index < 0 or > newValueIndexesNumber).",true); + Program.printAppError(Program.appErrors.INVALID_POSITIONS_RANGE, "The positions values are not in the range of the value to replace (pos index < 0 or > newValueIndexesNumber).", true); } } }