Answered by:
Reading Inner Text from an XML File

Question
-
Hi please any one help me how to Code to get inner text value from below XML File
<?xml version="1.0" ?><G1>09653200</G1><G2>07-05-2013 18:23:39</G2><G3>07-05-2013 18:28:05</G3><G7>1</G7><G8>1</G8><G13>1</G13><G14>5-30</G14><G15>WC(3ph-4W)</G15><G17>NrB03.03</G17><G22 CODE="3" NAME="L&T" /><G24>Mains</G24><G27>VALID</G27><G30>2.5</G30><G31>2.00.03.00</G31><G32>38</G32><G33>MM002</G33><G1193>WholeCurrent</G1193><G1194>Full Data</G1194><G1195>1000</G1195><G1196>1</G1196><G1197>07-05-2013 18:23:39</G1197><G1199>A000</G1199></D1><INSTPARAM CODE="P1-2-1-1-0" VALUE="222.38" UNIT="V" /><INSTPARAM CODE="P1-2-2-1-0" VALUE="0" UNIT="V" /><INSTPARAM CODE="P1-2-3-1-0" VALUE="0" UNIT="V" /><INSTPARAM CODE="P2-1-1-1-0" VALUE="0" UNIT="A" /><INSTPARAM CODE="P2-1-2-1-0" VALUE="0" UNIT="A" /><INSTPARAM CODE="P2-1-3-1-0" VALUE="0" UNIT="A" /><INSTPARAM CODE="P8-1-0-0-0" VALUE="" /><INSTPARAM CODE="P8-2-0-0-0" VALUE="" /><INSTPARAM CODE="P3-2-1-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P3-3-1-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P4-1-1-0-0" VALUE="" /><INSTPARAM CODE="P3-2-2-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P3-3-2-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P4-2-1-0-0" VALUE="" /><INSTPARAM CODE="P3-2-3-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P3-3-3-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P4-3-1-0-0" VALUE="" /><INSTPARAM CODE="P3-2-4-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P3-3-4-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P3-4-4-1-0" VALUE="0" UNIT="k" /><INSTPARAM CODE="P4-4-1-0-0" VALUE="" /><INSTPARAM CODE="P9-1-0-0-0" VALUE="51.33" UNIT="Hz" /></D2><</CDF>From this file i need to collect all the Value from every<INSTPARAM> present in D2 Tag.
I want C# code for windows application
Example: I want 51.33 from <INSTPARAM CODE="P9-1-0-0-0" VALUE="51.33" UNIT="Hz" />
Wednesday, May 8, 2013 12:09 PM
Answers
-
Your xml file is not well formed.
Hope this helps as start.
XDocument objDoc = XDocument.Load(@"C:\Sites\stringEx\abc.xml"); var query = from x1 in objDoc.Descendants("INSTPARAM") select new { code = x1.Attribute("CODE").Value.ToString(), value = x1.Attribute("VALUE").Value.ToString(), }; foreach(var x in query) { Console.WriteLine("{0} {1} ",x.code,x.value); }
Modified your xml file like below..
<?xml version="1.0" ?>
<CDF>
<UTILITYTYPE CODE="1">
<D2>
<INSTPARAM CODE="P1-2-1-1-0" VALUE="222.38" UNIT="V" />
<INSTPARAM CODE="P1-2-2-1-0" VALUE="0" UNIT="V" />
<INSTPARAM CODE="P1-2-3-1-0" VALUE="0" UNIT="V" />
<INSTPARAM CODE="P2-1-1-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P2-1-2-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P2-1-3-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P8-1-0-0-0" VALUE="" />
<INSTPARAM CODE="P8-2-0-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-1-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-1-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-1-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-2-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-2-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-2-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-3-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-3-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-3-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-4-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-4-1-0-0" VALUE="" />
<INSTPARAM CODE="P9-1-0-0-0" VALUE="51.33" UNIT="Hz" />
</D2>
</UTILITYTYPE>
</CDF>
- Proposed as answer by Faisal Ahmed Farooqui Thursday, May 9, 2013 8:57 AM
- Marked as answer by Anil Pomar Wednesday, May 15, 2013 6:18 AM
Wednesday, May 8, 2013 12:49 PM
All replies
-
Your xml file is not well formed.
Hope this helps as start.
XDocument objDoc = XDocument.Load(@"C:\Sites\stringEx\abc.xml"); var query = from x1 in objDoc.Descendants("INSTPARAM") select new { code = x1.Attribute("CODE").Value.ToString(), value = x1.Attribute("VALUE").Value.ToString(), }; foreach(var x in query) { Console.WriteLine("{0} {1} ",x.code,x.value); }
Modified your xml file like below..
<?xml version="1.0" ?>
<CDF>
<UTILITYTYPE CODE="1">
<D2>
<INSTPARAM CODE="P1-2-1-1-0" VALUE="222.38" UNIT="V" />
<INSTPARAM CODE="P1-2-2-1-0" VALUE="0" UNIT="V" />
<INSTPARAM CODE="P1-2-3-1-0" VALUE="0" UNIT="V" />
<INSTPARAM CODE="P2-1-1-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P2-1-2-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P2-1-3-1-0" VALUE="0" UNIT="A" />
<INSTPARAM CODE="P8-1-0-0-0" VALUE="" />
<INSTPARAM CODE="P8-2-0-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-1-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-1-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-1-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-2-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-2-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-2-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-3-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-3-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-3-1-0-0" VALUE="" />
<INSTPARAM CODE="P3-2-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-3-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P3-4-4-1-0" VALUE="0" UNIT="k" />
<INSTPARAM CODE="P4-4-1-0-0" VALUE="" />
<INSTPARAM CODE="P9-1-0-0-0" VALUE="51.33" UNIT="Hz" />
</D2>
</UTILITYTYPE>
</CDF>
- Proposed as answer by Faisal Ahmed Farooqui Thursday, May 9, 2013 8:57 AM
- Marked as answer by Anil Pomar Wednesday, May 15, 2013 6:18 AM
Wednesday, May 8, 2013 12:49 PM -
Funny, its just the same xml with the same flaws, Venkat is pointing out, as in this thread by another poser a few hours ago.
wizend
- Edited by Wizend Wednesday, May 8, 2013 2:05 PM
Wednesday, May 8, 2013 2:05 PM -
Sorry for this and for that thread we did not solved our query.Thursday, May 9, 2013 5:03 AM
-
Hi Anil,
How is it going now? It seems that Venkat786 has solved this issue.
Bob Shen
MSDN Community Support | Feedback to us
Develop and promote your apps in Windows Store
Please remember to mark the replies as answers if they help and unmark them if they provide no help.Friday, May 10, 2013 7:34 AM -
Thanks and its now working fine.....Wednesday, May 15, 2013 6:17 AM