} // proc WriteElementProperty /// <summary>Write a complete attribute.</summary> /// <param name="propertyName"></param> /// <param name="_value"></param> public void WriteAttributeProperty(string propertyName, object _value) { var value = _value.ChangeType <string>(); if (value != null) { xml.WriteAttributeString(propertyName, Procs.RemoveInvalidXmlChars(value, '?')); } } // proc WriteAttributeProperty
public void XmlRemoveInvalidChars() { Assert.AreEqual(Procs.RemoveInvalidXmlChars(null), null); Assert.AreEqual(Procs.RemoveInvalidXmlChars(String.Empty), String.Empty); Assert.AreEqual(Procs.RemoveInvalidXmlChars("String.Empty"), "String.Empty"); Assert.AreEqual(XmlConvert.VerifyXmlChars(Procs.RemoveInvalidXmlChars("String\x1A.Empty")), "String.Empty"); Assert.AreEqual(XmlConvert.VerifyXmlChars(Procs.RemoveInvalidXmlChars("\x001AEmp\x001Aty\x001A")), "Empty"); Assert.AreEqual(XmlConvert.VerifyXmlChars(Procs.RemoveInvalidXmlChars("String\x001AEmp\x10000ty")), "StringEmp\x10000ty"); }
/// <summary>Write value.</summary> /// <param name="_value"></param> public void WriteValue(object _value) { var value = _value.ChangeType <string>(); if (value == null) { return; } if (value.IndexOfAny(isCDateEmitChar) >= 0) // check for specials { xml.WriteCData(Procs.RemoveInvalidXmlChars(value, '?')); } else { xml.WriteValue(Procs.RemoveInvalidXmlChars(value, '?')); } } // proc WriteValue