Link to home
Start Free TrialLog in
Avatar of Webboy2008
Webboy2008

asked on

c# asp.net xml

I have attached xml code that saved in the database(SQL Server 2008).
Basically, I just need to get value of <MCFloorRate></MCFloorRate>.

My question is: How can I write a Void to do the following
like Void Result
{
Result = ValueofMCfllooRate;
}

I am not .net programmer.so if you can send me working code, 500 pts is yours.
<DATA>
<FuelSurchargeGroup>1</FuelSurchargeGroup>
<MCFloorRate>125.00</MCFloorRate>
<HazMatPercentage>0</HazMatPercentage>
<HotPercentage>0</HotPercentage>
<TLMilePrice>0</TLMilePrice>
<TLWeight>0</TLWeight>
<TLChargeType>0</TLChargeType>
<LTLChargeType>1</LTLChargeType>
<LTLPalletMaxWeight>0</LTLPalletMaxWeight>
<LTLSmallPalletMaxWeight>0</LTLSmallPalletMaxWeight>
<UseDefaultTLStates>False</UseDefaultTLStates>
<UseDefaultClasses>False</UseDefaultClasses>
<UseDefaultStates>True</UseDefaultStates>
<UseDefaultAccessorial>False</UseDefaultAccessorial>
<UseDefaultDiscount>False</UseDefaultDiscount>
<ShowDescountOnInvoice>True</ShowDescountOnInvoice>
<Terms>Net 15</Terms><TLSTATES />
<CLASSES><CLASS><GID>ec13ab3e-1008-4278-a784-66f1615d58a9</GID>
<START>100</START>
<END>150</END>
<VALUE>100</VALUE>
</CLASS></CLASSES>
<STATES />
<Accessorials><Accessorial>
<ID>1</ID>
<Text>Appointment Delivery</Text>
<Value />
</Accessorial><Accessorial>
<ID>2</ID><Text>COD Charge</Text><Value /></Accessorial><Accessorial><ID>3</ID><Text>Inside Delivery Charge</Text><Value /></Accessorial><Accessorial><ID>4</ID><Text>Liftgate Service</Text><Value /></Accessorial><Accessorial><ID>5</ID><Text>Redelivery Charge</Text><Value /></Accessorial><Accessorial><ID>6</ID><Text>Rural Pickup &amp; Delivery</Text><Value /></Accessorial></Accessorials><DISCOUNTS><DISCOUNT><GID>150bcfc5-f89d-442c-9859-25339ec72eb6</GID><START>1</START><END>14999</END><VALUE>81</VALUE></DISCOUNT></DISCOUNTS><CreatedDate>8/2/2009 12:13:49 PM</CreatedDate><UpdatedDate>8/27/2009 10:02:42 AM</UpdatedDate><UpdatedBy>0d6c6004-5688-4fb6-b369-3b15c77f3cbd</UpdatedBy></DATA>

Open in new window

Avatar of computeras
computeras
Flag of Greece image

Try this out:

private void result()
{
   XmlDocument xml = new XmlDocument();
   xml.Load(myXmlPath); // the path of your xml file
   // you can use xml.LoadXml(xmlText); if xmlText contains all of your xml
   result = xml.SelectSingleNode("/DATA/MCFloorRate").InnerText;
}

Open in new window

Avatar of Carl Tawn
Assuming you are loading your XML from a string rather from disk:
public string GetXmlValue()
{
    string retVal = string.Emtpy;

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("your_xml_string");

    XmlNode node = doc.SelectSingleNode("//MCFloorRate");
    if (node != null)
         retVal = node.InnerText;

    return retVal;
}

Open in new window

Avatar of Webboy2008
Webboy2008

ASKER

The issue is. it is now in the table column called xmlbilling in customers table.
I don't know how to write the code and capture the data there
like select xmlbilling from customers where customerId = 1
SqlConnection cn = new SqlConnection("your connection string");
SqlCommand cmd = new SqlCommand("SELECT xmlbilling FROM customers WHERE customerId = 1", cn);

cn.Open();
string xml = (string)cmd.ExecuteScalar();
cn.Close();

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

string value = string.Empty;

XmlNode node = doc.SelectSingleNode("//MCFloorRate");
if (node != null)
    value = node.InnerText;

Open in new window

Guys. Thank you very much for your helps. I am able to make it in Void based on your given...
However, I am unable to make return to int.

Can you please take a look? Basic, I just want call/return in int. the number value may go under to 20000
protected void Page_Load(object sender, EventArgs e)
    {
	string ReturnValue= ReturnCustomerMc(121);
    Response.Write(ReturnValue.ToString());
    }
    
    public string ReturnCustomerMc(int CustomerId)
    {
     string value1;
     SqlConnection cn = new SqlConnection(WebConfigurationManager.ConnectionStrings["ManageRolesConnectionString"].ToString());
	 SqlCommand cmd = new SqlCommand("SELECT xmlbilling FROM customers WHERE Id = 121", cn);
	 cn.Open();
	 string xml = (string)cmd.ExecuteScalar();
	 cn.Close();
	 XmlDocument doc = new XmlDocument();
     doc.LoadXml(xml);
     string value = string.Empty;
     XmlNode node = doc.SelectSingleNode("//MCFloorRate");
     if (node != null)
     {
     value1 = node.InnerText;
     return value1;
     }
     else
     {
     return "0";
     }
    }

Open in new window

protected void Page_Load(object sender, EventArgs e)
    {
	int ReturnValue= ReturnCustomerMc(121);
    Response.Write(ReturnValue.ToString());
    }
    
    public int ReturnCustomerMc(int CustomerId)
    {
     int value1 = 0;
     SqlConnection cn = new SqlConnection(WebConfigurationManager.ConnectionStrings["ManageRolesConnectionString"].ToString());
	 SqlCommand cmd = new SqlCommand("SELECT xmlbilling FROM customers WHERE Id = 121", cn);
	 cn.Open();
	 string xml = (string)cmd.ExecuteScalar();
	 cn.Close();
	 XmlDocument doc = new XmlDocument();
     doc.LoadXml(xml);
     string value = string.Empty;
     XmlNode node = doc.SelectSingleNode("//MCFloorRate");
     if (node != null)
     {
     value1 = int.Parse(node.InnerText);
     }

     return value1;

Open in new window

carl_tawn: Input string was not in a correct format.
ASKER CERTIFIED SOLUTION
Avatar of Carl Tawn
Carl Tawn
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial