Solved

c# asp.net xml

Posted on 2011-03-10
9
260 Views
Last Modified: 2012-06-27
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

0
Comment
Question by:Webboy2008
  • 4
  • 4
9 Comments
 
LVL 2

Expert Comment

by:computeras
ID: 35099065
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

0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35099068
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

0
 

Author Comment

by:Webboy2008
ID: 35099118
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
0
 

Author Comment

by:Webboy2008
ID: 35099128
like select xmlbilling from customers where customerId = 1
0
Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35099170
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

0
 

Author Comment

by:Webboy2008
ID: 35099714
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

0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35099755
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

0
 

Author Comment

by:Webboy2008
ID: 35099809
carl_tawn: Input string was not in a correct format.
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 35099870
Your sample XML is showing the number as having a decimal, so you will need to use a floating point type rather than a simple int:
protected void Page_Load(object sender, EventArgs e)
    {
	float ReturnValue= ReturnCustomerMc(121);
    Response.Write(ReturnValue.ToString());
    }
    
    public float ReturnCustomerMc(int CustomerId)
    {
     float 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 = float.Parse(node.InnerText);
     }

     return value1;
}

Open in new window

0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
What's the most efficient way to load up a couple of large table in C#? 5 38
Error on link 14 38
C# parent child form 5 19
Sql Query with datetime 3 12
If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now