Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解析XML并填充到列表框中_C#_.net_Xml_Listbox_Xml Parsing - Fatal编程技术网

C# 解析XML并填充到列表框中

C# 解析XML并填充到列表框中,c#,.net,xml,listbox,xml-parsing,C#,.net,Xml,Listbox,Xml Parsing,我已经发布了同样的问题,我也得到了一些好的答案。当我尝试相同的答案时,我得到了编译错误。后来我知道我们正在使用.NET2.0,我们现有的应用程序没有对LINQ文件的引用 在SO中搜索后,我试图部分地找出: public partial class Item { public object CHK { get; set; } public int SEL { get; set; } public string VALUE { get; set

我已经发布了同样的问题,我也得到了一些好的答案。当我尝试相同的答案时,我得到了编译错误。后来我知道我们正在使用
.NET2.0
,我们现有的应用程序没有对LINQ文件的引用

SO
中搜索后,我试图部分地找出:

public partial class Item
    {
        public object CHK { get; set; }
        public int SEL { get; set; }
        public string VALUE { get; set; }
    }
解析:

        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<LISTBOX_ST>
             <item><CHK></CHK><SEL>00001</SEL><VALUE>val01</VALUE></item>
             <item><CHK></CHK><SEL>00002</SEL><VALUE>val02</VALUE></item>
             <item><CHK></CHK><SEL>00003</SEL><VALUE>val03</VALUE></item>
             <item><CHK></CHK><SEL>00004</SEL><VALUE>val04</VALUE></item>
             <item><CHK></CHK><SEL>00005</SEL><VALUE>val05</VALUE></item>
                   </LISTBOX_ST>");            
       List<Item> _lbList = new List<Item>();
       foreach (XmlNode node in doc.DocumentElement.ChildNodes)
        {
            string text = node.InnerText; //or loop through its children as well
            //HOW - TO - POPULATE THE ITEM OBJECT ??????
        }
       listBox1.DataSource = _lbList;
       listBox1.DisplayMember = "VALUE";
       listBox1.ValueMember = "SEL";
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“
00001val01
00002val02
00003val03
00004val04
00005val05
");            
列表lbList=新列表();
foreach(doc.DocumentElement.ChildNodes中的XmlNode节点)
{
string text=node.InnerText;//也可以循环遍历其子级
//如何填充项对象??????
}
listBox1.DataSource=\lbu列表;
listBox1.DisplayMember=“值”;
listBox1.ValueMember=“SEL”;

如何读取两个子节点-SEL和节点值,并将其填充到新项目DTO中

你可以这样做:

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(@"<LISTBOX_ST>
     <item><CHK></CHK><SEL>00001</SEL><VALUE>val01</VALUE></item>
     <item><CHK></CHK><SEL>00002</SEL><VALUE>val02</VALUE></item>
     <item><CHK></CHK><SEL>00003</SEL><VALUE>val03</VALUE></item>
     <item><CHK></CHK><SEL>00004</SEL><VALUE>val04</VALUE></item>
     <item><CHK></CHK><SEL>00005</SEL><VALUE>val05</VALUE></item>
     </LISTBOX_ST>");            

    List<Item> _lbList = new List<Item>();
   foreach (XmlNode node in doc.DocumentElement.ChildNodes)
    {
        string chk = node.ChildNodes[0].InnerText;
        int sel = int.Parse(node.ChildNodes[1].InnerText);
        string value = node.ChildNodes[2].InnerText;

        Item item = new Item();
        item.CHK = chk;
        item.VALUE = value;
        item.SEL = sel;

        _lbList.Add(item);
    }
   listBox1.DataSource = _lbList;
   listBox1.DisplayMember = "VALUE";
   listBox1.ValueMember = "SEL";
XmlDocument doc=新的XmlDocument();
doc.LoadXml(@)
00001val01
00002val02
00003val03
00004val04
00005val05
");            
列表lbList=新列表();
foreach(doc.DocumentElement.ChildNodes中的XmlNode节点)
{
字符串chk=node.ChildNodes[0]。InnerText;
int sel=int.Parse(node.ChildNodes[1].InnerText);
字符串值=节点。子节点[2]。InnerText;
项目=新项目();
item.CHK=CHK;
项目价值=价值;
item.SEL=SEL;
_lbList.Add(项目);
}
listBox1.DataSource=\lbu列表;
listBox1.DisplayMember=“值”;
listBox1.ValueMember=“SEL”;