using System;
using System.Xml;
namespace ConsoleApplication4
{
internal class Program
{
private static void Main()
{
const string xmlStr = @"<request type=""sync"" key=""1BF500B4158DBF04BA3045ABB38EAF0F"">
<host prod=""E10"" ver=""1.0.0.0"" ip=""192.168.11.17"" id=""E10_5.0_ZH1"" lang=""zh_CN"" timestamp=""20170719170824970"" acct=""dcms"" />
<service prod=""MES"" name=""lot.create"" />
<payload>
<param key=""std_data"" type=""xml"">
<data_request>
<datainfo>
<parameter key=""lot_data"" type=""data"">
<data name=""W304_DISPATCH_LIST"" cnt=""3"" tt_cnt=""0"" page=""0"" tt_page=""0"">
<row seq=""1"">
<field name=""disp_no"" type=""string"">5X11-170716001</field>
<field name=""disp_seq"" type=""numeric"">1</field>
<field name=""wo_no"" type=""string"">5101-17060800003</field>
<field name=""qty"" type=""numeric"">1890.000000</field>
<field name=""dpm_lot_no"" type=""string""/>
<field name=""workstation_no"" type=""string"">106</field>
<field name=""so_no"" type=""string"">GA-1707007-9-1</field>
<field name=""plan_start_date"" type=""date"">19000101000000000</field>
<field name=""plan_finish_date"" type=""date"">19000101000000000</field>
</row>
<row seq=""2"">
<field name=""disp_no"" type=""string"">5X11-170716001</field>
<field name=""disp_seq"" type=""numeric"">2</field>
<field name=""wo_no"" type=""string"">5101-17042200630</field>
<field name=""qty"" type=""numeric"">528.000000</field>
<field name=""dpm_lot_no"" type=""string""/>
<field name=""workstation_no"" type=""string"">106</field>
<field name=""so_no"" type=""string"">GA-1705002-2-1</field>
<field name=""plan_start_date"" type=""date"">19000101000000000</field>
<field name=""plan_finish_date"" type=""date"">19000101000000000</field>
</row>
<row seq=""3"">
<field name=""disp_no"" type=""string"">5X11-170716001</field>
<field name=""disp_seq"" type=""numeric"">3</field>
<field name=""wo_no"" type=""string"">5101-17050900672</field>
<field name=""qty"" type=""numeric"">396.000000</field>
<field name=""dpm_lot_no"" type=""string""/>
<field name=""workstation_no"" type=""string"">106</field>
<field name=""so_no"" type=""string"">GA-1705022-1-1</field>
<field name=""plan_start_date"" type=""date"">19000101000000000</field>
<field name=""plan_finish_date"" type=""date"">19000101000000000</field>
</row>
</data>
</parameter>
</datainfo>
</data_request>
</param>
</payload>
</request>";
var doc = new XmlDocument();
doc.LoadXml(xmlStr);
var rowNoteList = doc.SelectNodes("/request/payload/param/data_request/datainfo/parameter/data/row");
if (rowNoteList != null)
{
foreach (XmlNode rowNode in rowNoteList)
{
var fieldNodeList = rowNode.ChildNodes;
foreach (XmlNode courseNode in fieldNodeList)
{
if (courseNode.Attributes != null)
{
Console.Write(courseNode.Attributes["name"].Value);
Console.Write("\t");
Console.Write(courseNode.Attributes["type"].Value);
}
Console.Write("\t");
Console.WriteLine(courseNode.InnerText.Trim());
}
Console.Write("\n");
}
}
Console.Write("\r\nPress any key to continue....");
Console.Read();
}
}
}