예제 #1
0
        public static string buildOpenPayUDocument(object config,
                                                   string startElement = "OrderCreateRequest", int request = 1,
                                                   string xml_version  = "1.0", string xml_encoding        = "UTF-8")
        {
            if (config.GetType().ToString() != "System.Collections.Hashtable")
            {
                return(null);
            }
            StringWriter  sw     = new StringWriter();
            XmlTextWriter writer = new XmlTextWriter(sw);

            writer.WriteStartElement(startElement);
            Hashtable data1 = config as Hashtable;

            OpenPayU.arr2xml(writer, data1);
            writer.WriteEndElement();
            writer.Flush();
            StringBuilder sb        = new StringBuilder();
            string        xmlString = sb.AppendFormat(PayuLib.PayuInternals.xmlStringFormat, sw.ToString()).ToString();

            string xmlStringOLD = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                                  "<OpenPayU xmlns=\"http://www.openpayu.com/openpayu.xsd\">" +
                                  sw.ToString() + "</OpenPayU>";

            writer.Close();
            sw.Close();
            return(xmlString);
        }
예제 #2
0
        private static void arr2xml(XmlWriter xml, Hashtable data)
        {
            string substr = "";
            int    status = 0;

            if (data != null && data.GetType().ToString() == "System.Collections.Hashtable")
            {
                foreach (DictionaryEntry item in data)
                {
                    if (item.Value.GetType().ToString() == "System.Collections.Hashtable")
                    {
                        xml.WriteStartElement(item.Key.ToString());
                        Hashtable v2 = item.Value as Hashtable;
                        OpenPayU.arr2xml(xml, v2);
                        xml.WriteEndElement();
                        status = 0;
                        continue;
                    }
                    else
                    {
                        status = 0;
                        substr = item.Value.GetType().ToString();
                        if (substr.Length > 30)
                        {
                            substr = item.Value.GetType().ToString().Substring(0, 32);
                        }
                        if (substr == "System.Collections.Generic.Stack")
                        {
                            xml.WriteStartElement(item.Key.ToString());
                            status = 1;
                            Stack <Hashtable> v3 = item.Value as Stack <Hashtable>;
                            foreach (Hashtable item2 in v3)
                            {
                                Hashtable v4 = item2 as Hashtable;
                                OpenPayU.arr2xml(xml, v4);
                            }
                            xml.WriteEndElement();
                            continue;
                        }
                    }
                    if (status == 0)
                    {
                        xml.WriteElementString(item.Key.ToString(), item.Value.ToString());
                    }
                    status = 0;
                }
            }
        }