求读取xml 节点的步骤
求读取xml 节点的方法,
以下xml怎样读取所有节点,试很多方法都不行,新手。
<?xml version="1.0" encoding="utf-8"?>
- <Z_READ_PRODUCTION_ORDER_YP124 xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<P_LISTER>test</P_LISTER>
<IT_AUFNR>
<connect>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>5</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>JINSHU/JIEZI</TMATNR>
<WGBEZ>金屬介子(配件)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>6</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>KI/MB363-K</TMATNR>
<WGBEZ>圈鉸(裝配)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>7</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>OA/12568</TMATNR>
<WGBEZ>夾口(燒焊)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>8</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>OBE/02910</TMATNR>
<WGBEZ>(夾口或鉸鏈)膠螺絲</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>9</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>SH/MB-125</TMATNR>
<WGBEZ>自制鼻樑</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>10</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>SH/NK-268</TMATNR>
<WGBEZ>自制銅芯</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
</connect>
</IT_AUFNR>
<IT_BASIC>
<connect>
<IT_BASIC>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<VBELN>AXF00127</VBELN>
<PROTYPE>A</PROTYPE>
<CRT_ID>HEIBO</CRT_ID>
<CRT_DATE>8/19/2015 12:00:00 AM</CRT_DATE>
<UPD_ID></UPD_ID>
<UPD_DATE>1/1/0001 12:00:00 AM</UPD_DATE>
</IT_BASIC>
</connect>
</IT_BASIC>
<IT_MARK>
<connect>
<IT_MARK>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>1</ZORDER>
<ZTYPE>MOTHER</ZTYPE>
<AUFNR>000011228007</AUFNR>
<MATNR>SH/MB-125</MATNR>
<ZSIZE>55-15-135</ZSIZE>
<CLENTXT>11228004</CLENTXT>
</IT_MARK>
<IT_MARK>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>2</ZORDER>
<ZTYPE>MOTHER</ZTYPE>
<AUFNR>000011228008</AUFNR>
<MATNR>SH/NK-268</MATNR>
<ZSIZE>55-15-135</ZSIZE>
<CLENTXT>11228004</CLENTXT>
</IT_MARK>
</connect>
</IT_MARK>
</Z_READ_PRODUCTION_ORDER_YP124>
------解决思路----------------------
以读取IT_AUFNR下的节点为例,IT_BASIC、IT_MARK类似。
------解决思路----------------------
看起来就是一个主类,包含了几个属性以及三个集合,没什么特殊的,等有空在电脑上用vs写个反序列化
以下xml怎样读取所有节点,试很多方法都不行,新手。
<?xml version="1.0" encoding="utf-8"?>
- <Z_READ_PRODUCTION_ORDER_YP124 xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<P_LISTER>test</P_LISTER>
<IT_AUFNR>
<connect>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>5</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>JINSHU/JIEZI</TMATNR>
<WGBEZ>金屬介子(配件)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>6</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>KI/MB363-K</TMATNR>
<WGBEZ>圈鉸(裝配)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>7</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>OA/12568</TMATNR>
<WGBEZ>夾口(燒焊)</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>8</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>OBE/02910</TMATNR>
<WGBEZ>(夾口或鉸鏈)膠螺絲</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>9</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>SH/MB-125</TMATNR>
<WGBEZ>自制鼻樑</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
<IT_AUFNR>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>10</ZORDER>
<AUFNR></AUFNR>
<ZNUM></ZNUM>
<ZSIZE></ZSIZE>
<ZCOLOR></ZCOLOR>
<ZQTY></ZQTY>
<TMATNR>SH/NK-268</TMATNR>
<WGBEZ>自制銅芯</WGBEZ>
<POSI></POSI>
<CLENTXT></CLENTXT>
</IT_AUFNR>
</connect>
</IT_AUFNR>
<IT_BASIC>
<connect>
<IT_BASIC>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<VBELN>AXF00127</VBELN>
<PROTYPE>A</PROTYPE>
<CRT_ID>HEIBO</CRT_ID>
<CRT_DATE>8/19/2015 12:00:00 AM</CRT_DATE>
<UPD_ID></UPD_ID>
<UPD_DATE>1/1/0001 12:00:00 AM</UPD_DATE>
</IT_BASIC>
</connect>
</IT_BASIC>
<IT_MARK>
<connect>
<IT_MARK>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>1</ZORDER>
<ZTYPE>MOTHER</ZTYPE>
<AUFNR>000011228007</AUFNR>
<MATNR>SH/MB-125</MATNR>
<ZSIZE>55-15-135</ZSIZE>
<CLENTXT>11228004</CLENTXT>
</IT_MARK>
<IT_MARK>
<MANDT>800</MANDT>
<ZNUMB>150819000002</ZNUMB>
<ZORDER>2</ZORDER>
<ZTYPE>MOTHER</ZTYPE>
<AUFNR>000011228008</AUFNR>
<MATNR>SH/NK-268</MATNR>
<ZSIZE>55-15-135</ZSIZE>
<CLENTXT>11228004</CLENTXT>
</IT_MARK>
</connect>
</IT_MARK>
</Z_READ_PRODUCTION_ORDER_YP124>
------解决思路----------------------
以读取IT_AUFNR下的节点为例,IT_BASIC、IT_MARK类似。
class Program
{
static void Main(string[] args)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("test.xml");
List<IT_AUFNR> IT_AUFNRList = new List<IT_AUFNR>();
var IT_AUFNRNodes = xmlDoc.SelectSingleNode("Z_READ_PRODUCTION_ORDER_YP124/IT_AUFNR/connect").ChildNodes;
foreach (XmlNode node in IT_AUFNRNodes)
{
IT_AUFNRList.Add(new IT_AUFNR()
{
MANDT = node.SelectSingleNode("MANDT").InnerText,
ZNUMB = node.SelectSingleNode("ZNUMB").InnerText,
ZORDER = node.SelectSingleNode("ZORDER").InnerText,
AUFNR = node.SelectSingleNode("AUFNR").InnerText,
ZNUM = node.SelectSingleNode("ZNUM").InnerText,
ZSIZE = node.SelectSingleNode("ZSIZE").InnerText,
ZCOLOR = node.SelectSingleNode("ZCOLOR").InnerText,
ZQTY = node.SelectSingleNode("ZQTY").InnerText,
TMATNR = node.SelectSingleNode("TMATNR").InnerText,
WGBEZ = node.SelectSingleNode("WGBEZ").InnerText,
POSI = node.SelectSingleNode("POSI").InnerText,
CLENTXT = node.SelectSingleNode("CLENTXT").InnerText,
});
}
}
}
public class IT_AUFNR
{
public string MANDT { get; set; }
public string ZNUMB { get; set; }
public string ZORDER { get; set; }
public string AUFNR { get; set; }
public string ZNUM { get; set; }
public string ZSIZE { get; set; }
public string ZCOLOR { get; set; }
public string ZQTY { get; set; }
public string TMATNR { get; set; }
public string WGBEZ { get; set; }
public string POSI { get; set; }
public string CLENTXT { get; set; }
}
------解决思路----------------------
看起来就是一个主类,包含了几个属性以及三个集合,没什么特殊的,等有空在电脑上用vs写个反序列化