Friday, September 3, 2010

XmlParserforCsharp

#region EndOldMethod

//public string LoanBooking_ParsePayment_API(string p_Xml)
//{
// XmlDocument _xdoc = new XmlDocument();
// _xdoc.LoadXml(p_Xml);

// // string _s = _xdoc.SelectSingleNode("/*[local-name()='CSM-REQUEST-DATA' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='BUSINESS-DATA' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='APPLICATION-DETAILS' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='DISBURSEMENT-DETAILS' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='PAYMENT-BRANCH' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']").ToString();

// XmlElement _x1 = _xdoc.DocumentElement;


// byte[] byteArray = Encoding.ASCII.GetBytes(p_Xml);
// MemoryStream stream = new MemoryStream(byteArray);
// DataSet _ds = new DataSet("Tabled");
// _ds.ReadXml(stream);
// string _Payment_Branch = string.Empty;


// for (int _x = 0; _x <= _ds.Tables.Count; _x++)
// {
// for (int _y = 0; _y <= _ds.Tables[_x].Rows.Count; _y++)
// {
// for (int _z = 0; _z <>
// {
// string _h = _ds.Tables[_x].Columns[_z].ColumnName.ToString();
// if (_h == "PAYMENT-BRANCH")
// {
// _Payment_Branch = _ds.Tables[_x].Rows[_y][_y].ToString();
// break;

// }

// }

// }
// }

// // XmlNamespaceManager nsmgr = new XmlNamespaceManager(_xdoc.NameTable);
// // nsmgr.AddNamespace("xsl", "http://CSMServices_OnlineServices_LoanBooking_Request");
// // XmlNode sNode =
// //_xdoc.DocumentElement.SelectSingleNode("/*[local-name()='CSM-REQUEST-DATA' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='BUSINESS-DATA' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='APPLICATION-DETAILS' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='DISBURSEMENT-DETAILS' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']/*[local-name()='PAYMENT-BRANCH' and namespace-uri()='http://CSMServices_OnlineServices_LoanBooking_Request']", nsmgr);


// // XmlNodeList _list = _xdoc.SelectNodes("APPLICATION-DETAILS/ns0:DISBURSEMENT-DETAILS",nsmgr);

// // string s = _xdoc.OuterXml.ToString();
// // XPathDocument doc = new XPathDocument("c:\\LoanBooking.xml");
// // XPathNavigator nac = doc.CreateNavigator();

// // XPathExpression expr;
// // expr = nac.Compile("/BUSINESS-DATA/APPLICATION-DETAILS/PRICING-DETAILS");
// // XPathNodeIterator itr = nac.Select(expr);
// // while (itr.MoveNext())
// // {
// // XPathNavigator nav = itr.Current.Clone();
// // string s1 = nav.Value.ToString();
// //}




// return "";
//}
#endregion


public string LoanBooking_ParsePayment_API(string p_Xml)
{
string[] dateTag=new string[10];
//Create an instance of XmlTextReader class that reads the XML data.
XmlDocument _xdoc = new XmlDocument();
_xdoc.LoadXml(p_Xml);
byte[] byteArray = Encoding.ASCII.GetBytes(p_Xml);
MemoryStream streamk = new MemoryStream(byteArray);
XmlTextReader xmlReader = new XmlTextReader(streamk); //( (_xdoc, XmlNodeType.Element, null);

MemoryStream ms = new MemoryStream();

XmlTextWriter xmlWriter = new XmlTextWriter(ms, Encoding.ASCII);
xmlWriter.Indentation = 4;
xmlWriter.WriteStartDocument();
string elementName = "";
DateTime outDate;

// Parse and display each node.

Boolean bLoopBreaker = true;

while (xmlReader.Read())
{
bLoopBreaker = true;
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
xmlWriter.WriteStartElement(xmlReader.Name);
xmlWriter.WriteAttributes(xmlReader, true);
elementName = xmlReader.Name;
break;
case XmlNodeType.Text:
if (elementName == "ns0:PAYMENT-BRANCH")
{
string _payment = xmlReader.Value.ToString();
// if (elementName.ToLower() == "")
}
// implementation
// foreach (string strTempDt in dateTag)
// {
// if (XmlNodeType.Text.ToString() != "")
// {
// if (elementName.ToLower() == strTempDt.ToLower())
//{
//if (elementName.ToLower() == "PAYMENT-BRANCH")
//if (DateTime.TryParse(xmlReader.Value.ToString(), out outDate))
// xmlWriter.WriteString(DateTime.Parse(xmlReader.Value.ToString()).ToString(dtFormater));
bLoopBreaker = true;
// }
//}

// }
if (bLoopBreaker)
xmlWriter.WriteString(xmlReader.Value);

break;

case XmlNodeType.EndElement:
xmlWriter.WriteEndElement();
break;
}
}

xmlWriter.Close();

byte[] bt = ms.ToArray();
// using the samee elementName variable to hold the string
elementName = System.Text.Encoding.ASCII.GetString(bt);
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(elementName);
//MessageBox.Show(xmldoc.OuterXml.ToString());

return xmldoc.OuterXml.ToString();

}

No comments:

Post a Comment