Added code to support processing Calvert Cliffs data regarding node names

Added code to support processing BG&E data regarding node names
Added code to correct 16-bit applicability conversion to 32-bit applicability
This commit is contained in:
Rich
2014-03-04 02:03:08 +00:00
parent 156d4b32ba
commit 8810301dde
2 changed files with 94 additions and 21 deletions

View File

@@ -64,12 +64,48 @@ namespace DataLoader
break;
}
XmlAttribute xa = nxml.Attributes.Append(xmldoc.CreateAttribute(aname.Replace(' ', '_')));
xa.Value = avalue;
//added by jcb 20131216
//aname = SanitizeXmlString(aname);
//XmlAttribute xa = nxml.Attributes.Append(xmldoc.CreateAttribute(aname));
//end added by jcb 20131216
xa.Value = avalue;
return true;
}
return false;
}
//added by jcb 20131216
public string SanitizeXmlString(string xml)
{
if (xml == null)
throw new ArgumentNullException("xml");
xml = xml.Replace(' ', '_').Replace("/", "_fslash_").Replace("(", "_lparen_").Replace((char)0xA0, '_').Replace((char)0x20, '_').Replace(":", "_colon_");
StringBuilder buffer = new StringBuilder(xml.Length);
foreach (char c in xml)
{
if (IsLegalXmlChar(c))
buffer.Append(c);
}
return buffer.ToString();
}
/// <summary>
/// Whether a given character is allowed by XML 1.0.
/// </summary>
public bool IsLegalXmlChar(int character)
{
return
(
character == 0x9 /* == '\t' == 9 */ ||
character == 0xA /* == '\n' == 10 */ ||
character == 0xD /* == '\r' == 13 */ ||
(character >= 0x20 && character <= 0xD7FF) ||
(character >= 0xE000 && character <= 0xFFFD) ||
(character >= 0x10000 && character <= 0x10FFFF)
);
}
//end added by jcb 20131216
public int ItemCount
{
get { return xmldoc.DocumentElement.ChildNodes.Count; }