public void Diff(KXmlItem m_ChangeKXmlItem) { if (string.IsNullOrWhiteSpace(m_ChangeKXmlItem.Name)) { return; } if (cv_Name != m_ChangeKXmlItem.Name) { CheckIsOK = false; if (string.IsNullOrWhiteSpace(cv_Change)) { cv_Change += " Name:" + m_ChangeKXmlItem.Name; } } if (cv_Type != m_ChangeKXmlItem.ItemType) { CheckIsOK = false; if (string.IsNullOrWhiteSpace(cv_Change)) { cv_Change += " ItemType:" + m_ChangeKXmlItem.ItemType; } } if (cv_Type == KXmlItemType.itxList) { DiffMutiVar(m_ChangeKXmlItem); } else { DiffSignleVar(m_ChangeKXmlItem); } }
public KXmlItem GetKXmlItem() { KXmlItem xml = new KXmlItem(); xml.Text = strXml; return(xml); }
private void SendMessage_Click(object sender, RoutedEventArgs e) { ReplyBody.Text = MessageId.Text + "傳送中..." + Environment.NewLine + ReplyBody.Text; KXmlItem xml = new KXmlItem(); xml.Name = @"Body"; xml.Text = RequestBody.Text; SendRequest(MessageId.Text, "ISAPI_CLIENT", TargetModule.Text, ChannelId.Text, xml); }
private void DiffMutiVar(KXmlItem m_ChangeKXmlItem) { CheckIsOK = true; if (IsObject()) { //Obj內容可多不可少 foreach (var element in cv_MemberValue) { if (element.CheckIsOK == true) { continue; } string member_value_name = element.cv_Name; KXmlItem xml_member_value = m_ChangeKXmlItem.ItemsByLevelName[member_value_name]; element.Diff(xml_member_value); } } else { //List的數量必須相同 if (cv_Number != m_ChangeKXmlItem.ItemNumber) { CheckIsOK = false; if (string.IsNullOrWhiteSpace(cv_Change)) { cv_Change += " ItemNumber:" + m_ChangeKXmlItem.ItemNumber; } } int size_xml = m_ChangeKXmlItem.ItemNumber; for (int i = 0; i < size_xml; ++i) { foreach (var orig_element in cv_MemberValue) { if (orig_element.CheckIsOK == true) { continue; } KXmlItem xml_change_element = m_ChangeKXmlItem.Items[i]; orig_element.Diff(xml_change_element); } } } foreach (var element in cv_MemberValue) { if (element.CheckIsOK == false) { CheckIsOK = false; } } }
private void DiffSignleVar(KXmlItem m_ChangeKXmlItem) { if (cv_Xml != m_ChangeKXmlItem.Text) { CheckIsOK = false; if (string.IsNullOrWhiteSpace(cv_Change)) { cv_Change += " Text:" + m_ChangeKXmlItem.Text; } } else { CheckIsOK = true; } }
private void FiddleReplyCode_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) { try { string strFiddleReplyCode = FiddleReplyCode.Text; if (!string.IsNullOrWhiteSpace(strFiddleReplyCode)) { byte[] buffer = SysUtils.HexToBinary(strFiddleReplyCode); byte[] unzip_data = SysUtils.UnZip(buffer); KXmlItem xml_buffer = SysUtils.LoadXmlItemFromMemoryBuffer(unzip_data); DecodeToXml.Text = xml_buffer.Text; } } catch (Ionic.Zlib.ZlibException zipe) { string str = zipe.ToString(); //消除warning DecodeToXml.Text = @"無法解碼的值"; } }
public KXmlItemCheckReport(KXmlItem m_OriginalKXmlItem, int m_Level = 0) { cv_Level = m_Level; cv_Name = m_OriginalKXmlItem.Name; cv_Type = m_OriginalKXmlItem.ItemType; cv_Number = m_OriginalKXmlItem.ItemNumber; if (cv_Type == KXmlItemType.itxList) { int level = cv_Level + 1; int size_xml = m_OriginalKXmlItem.ItemNumber; for (int i = 0; i < size_xml; ++i) { KXmlItemCheckReport element = new KXmlItemCheckReport(m_OriginalKXmlItem.Items[i], level); cv_MemberValue.Add(element); } strXml = @"<" + cv_Name + @" KGS_TYPE=""" + cv_Type + @""" KGS_ITEM_NUMBER=""" + cv_Number + @""">"; cv_EndXml = @"</" + cv_Name + ">"; } else { strXml = m_OriginalKXmlItem.Text; } }
private void SendRequest(string m_MessageId, string m_Source, string m_Targe, string m_ChannelId, KXmlItem xml) { KFabLinkMessage message = new KFabLinkMessage(); message.Name = m_MessageId; message.Source = m_Source; message.Target = m_Targe; message.MessageType = KFabLinkMessageType.fmtRequest; message.Data = xml; cv_WebEventClient.ModuleId = m_Source; cv_WebEventClient.SendPrimary(m_ChannelId, m_MessageId, m_Targe, message, 10000); }