public void ParseUASummary(XmlNode parent, string objectName)
{
object data = null;
if (!(bool)this._RServer.Evaluate("is.null(" + objectName + ")").AsLogical()[0])//"is.null( tmp )"
{
try
{
if (int.Parse(this._RServer.Evaluate("length(" + objectName.Trim() + ")").AsInteger()[0].ToString()) >= 6)
{
if (!(bool)this._RServer.Evaluate("is.na(" + "names(" + objectName.Trim() + "[6])" + ")").AsLogical()[0])
{
if (this._RServer.Evaluate("names(" + objectName.Trim() + "[6])").AsCharacter()[0].ToString() == "uasummary")
{
data = this._RServer.Evaluate("length(" + objectName.Trim() + "[[6]])").AsInteger()[0];
int notesize = int.Parse(data.ToString());
//create node for UASummary
XmlElement xe_uas = parent.OwnerDocument.CreateElement("UASummary");
XmlElement xe_ual = parent.OwnerDocument.CreateElement("UAList");
XmlElement xe_str = null;
string innrtxt = string.Empty;
data = this._RServer.Evaluate(string.Format("{0}[[6]]", objectName)).AsCharacter().ToArray();///uasummary [[6]]
if (data.GetType().IsArray)
{
object[] newarr = (object[])data;
for (int i = 0; i < notesize; ++i)
{
//data = this._RServer.Evaluate(string.Format("{0}[[6]][[{1}]]", objectName, i));///uasummary [[6]]
//NULL=-2146826288 NA= -2146826246
if (newarr[i].ToString() == "-2146826288" ||
newarr[i].ToString() == "-2146826246")
innrtxt = string.Empty;
else
innrtxt = newarr[i].ToString();
xe_str = parent.OwnerDocument.CreateElement("UAString");
xe_str.InnerText = innrtxt;
xe_ual.AppendChild(xe_str);
xe_str = null;
}
xe_uas.AppendChild(xe_ual);
parent.AppendChild(xe_uas);//finally adding to main DOM
}
}
}
}
}
catch (Exception e)
{
logService.WriteToLogLevel("Could not parse:", LogLevelEnum.Error);
}
}
}