Asp.net 创建下拉列表

Asp.net 创建下拉列表,asp.net,xml,linq,html.dropdownlistfor,Asp.net,Xml,Linq,Html.dropdownlistfor,考虑以下XML文件: <?xml version="1.0" encoding="utf-8"?> <warehouse> <cat id="computer"> <item> <SN>1</SN> <name>Toshiba</name>

考虑以下XML文件:

   <?xml version="1.0" encoding="utf-8"?>
            <warehouse>
              <cat id="computer">
                <item>
                  <SN>1</SN>
                  <name>Toshiba</name>
                  <quantity>12</quantity>
                  <description>CPU: CORE I5 RAM: 3 GB HD: 512 GB</description>
                  <price>400 USD</price>
                </item>
                <item>
                  <SN>2</SN>
                  <name>Dell</name>
                  <quantity>14</quantity>
                  <description>CPU: CORE I5 RAM: 3 GB HD: 512 GB</description>
                  <price>300 USD</price>
                </item>
                <item>
                  <SN>3</SN>
                  <name>Dell</name>
                  <quantity>14</quantity>
                  <description>CPU: CORE I5 RAM: 3 GB HD: 512 GB</description>
                  <price>300 USD</price>
                </item>
                <item>
                  <SN>5</SN>
                  <name>Dell</name>
                  <quantity>14</quantity>
                  <description>CPU: CORE I5 RAM: 3 GB HD: 512 GB</description>
                  <price>300 USD</price>
                </item>
                <item>
                  <SN>6</SN>
                  <name>Dell</name>
                  <quantity>14</quantity>
                  <description>CPU: CORE I5 RAM: 3 GB HD: 512 GB</description>
                  <price>300 USD</price>
                </item>
                <item>
                  <SN>8</SN>
                  <name>Toshiba</name>
                  <quantity>13</quantity>
                  <description>CPU: CORE I5 RAM: 5 GB HD: 512 GB3</description>
                  <price>400 USD</price>
                </item>
                <item>
                  <SN>9</SN>
                  <name>Toshiba</name>
                  <quantity>13</quantity>
                  <description>CPU: CORE I5 RAM: 5 GB HD: 512 GB3</description>
                  <price>400 USD</price>
                </item>
                <item>
                  <SN>dsfdSF</SN>
                  <name>fsdfsD</name>
                  <quantity>dsfdSFS</quantity>
                  <description>FSDFS</description>
                  <price>FSDFSD</price>
                </item>
                <item>
                  <SN>dsfdSF</SN>
                  <name>fsdfsD</name>
                  <quantity>dsfdSFS</quantity>
                  <description>FSDFS</description>
                  <price>FSDFSD</price>
                </item>
                <item>
                  <SN>alia</SN>
                  <name>alia</name>
                  <quantity>alia</quantity>
                  <description>alia</description>
                  <price>alia</price>
                </item>
              </cat>
              <cat id="Stationery">
                <item>
                  <SN> 1 </SN>
                  <name>note books</name>
                  <quantity>250</quantity>
                  <description>Caterpiller</description>
                  <price>5 USD</price>
                </item>
                <item>
                  <SN> 2 </SN>
                  <name> pencils </name>
                  <quantity> 300 </quantity>
                  <description> Caterpiller </description>
                  <price> 2 USD </price>
                </item>
                <item>
                  <SN> 3 </SN>
                  <name> note books </name>
                  <quantity> 250 </quantity>
                  <description> Caterpiller  </description>
                  <price> 5 USD </price>
                </item>
                <item>
                  <SN>4</SN>
                  <name>pencils</name>
                  <quantity>45</quantity>
                  <description>Pilot</description>
                  <price>4 USD</price>
                </item>
                <item>
                  <SN>5</SN>
                  <name>pencils</name>
                  <quantity>45</quantity>
                  <description>Pilot</description>
                  <price>4 USD</price>
                </item>
                <item>
                  <SN>6</SN>
                  <name>pencils</name>
                  <quantity>45</quantity>
                  <description>Pilot</description>
                  <price>4 USD</price>
                </item>
                <item>
                  <SN>7</SN>
                  <name>sdfsdfsdfsdfsd</name>
                  <quantity>sdfsdf</quantity>
                  <description>dsfsdfs</description>
                  <price>sdfsdf</price>
                </item>
                <item>
                  <SN>8</SN>
                  <name>pencils</name>
                  <quantity>45</quantity>
                  <description>Pilot</description>
                  <price>4 USD</price>
                </item>
                <item>
                  <SN>9</SN>
                  <name>books</name>
                  <quantity>250</quantity>
                  <description>chinses</description>
                  <price>3 USD</price>
                </item>
                <item>
                  <SN>alia</SN>
                  <name>alia</name>
                  <quantity>alia</quantity>
                  <description>alia</description>
                  <price>alia</price>
                </item>
              </cat>
              <cat id="Furniture">
                <item>
                  <SN> 1 </SN>
                  <name>dasd</name>
                  <quantity>asdasd</quantity>
                  <description>das</description>
                  <price>dasd</price>
                </item>
                <item>
                  <SN> 2 </SN>
                  <name> chairs </name>
                  <quantity> 18 </quantity>
                  <description> European Type</description>
                  <price> 150 USD </price>
                </item>
                <item>
                  <SN>3</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>4</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>5</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>6</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>7</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>8</SN>
                  <name>Tabels</name>
                  <quantity>12</quantity>
                  <description>European Type</description>
                  <price>50 USD</price>
                </item>
                <item>
                  <SN>alia</SN>
                  <name>alia</name>
                  <quantity>alia</quantity>
                  <description>alia</description>
                  <price>alia</price>
                </item>
              </cat>
            </warehouse>

1.
东芝
12
CPU:CORE I5 RAM:3 GB硬盘:512 GB
400美元
2.
戴尔
14
CPU:CORE I5 RAM:3 GB硬盘:512 GB
300美元
3.
戴尔
14
CPU:CORE I5 RAM:3 GB硬盘:512 GB
300美元
5.
戴尔
14
CPU:CORE I5 RAM:3 GB硬盘:512 GB
300美元
6.
戴尔
14
CPU:CORE I5 RAM:3 GB硬盘:512 GB
300美元
8.
东芝
13
CPU:CORE I5 RAM:5 GB硬盘:512 GB3
400美元
9
东芝
13
CPU:CORE I5 RAM:5 GB硬盘:512 GB3
400美元
dsfdSF
消防处
dsfdSFS
FSDFS
消防处
dsfdSF
消防处
dsfdSFS
FSDFS
消防处
艾莉亚
艾莉亚
艾莉亚
艾莉亚
艾莉亚
1.
笔记本
250
履带式打桩机
5美元
2.
铅笔
300
履带式打桩机
2美元
3.
笔记本
250
履带式打桩机
5美元
4.
铅笔
45
飞行员
4美元
5.
铅笔
45
飞行员
4美元
6.
铅笔
45
飞行员
4美元
7.
SDFSD
sdfsdf
dsfsdfs
sdfsdf
8.
铅笔
45
飞行员
4美元
9
书
250
中国人
3美元
艾莉亚
艾莉亚
艾莉亚
艾莉亚
艾莉亚
1.
dasd
asdasd
达斯
dasd
2.
椅子
18
欧式
150美元
3.
泰贝尔斯
12
欧式
50美元
4.
泰贝尔斯
12
欧式
50美元
5.
泰贝尔斯
12
欧式
50美元
6.
泰贝尔斯
12
欧式
50美元
7.
泰贝尔斯
12
欧式
50美元
8.
泰贝尔斯
12
欧式
50美元
艾莉亚
艾莉亚
艾莉亚
艾莉亚
艾莉亚
我需要创建一个下拉列表。下拉列表必须仅显示
的所有值,其中

如何使用LINQ、DataView或Xpath实现这一点?

将xml加载到XElement中:

        var xml = XElement.Load("test.xml");
执行XPath以选择id为计算机的CAT中的SN元素:(+将它们放入列表)

所需用途:

        using System.Linq;
        using System.Xml.Linq;
        using System.Xml.XPath;
这个怎么样

        XmlDocument doc = new XmlDocument();
        doc.Load(@"~/XML/XML.xml");
        var nodes = doc.SelectNodes("warehouse/cat[@id='computer']/item/SN");

        myDropDown.DataTextField = "InnerText";
        myDropDown.DataValueField = "InnerText";


        //now bind the dropdownlist to the dataview
        myDropDown.DataSource = nodes;
        myDropDown.DataBind();

你能更好地解释一下where only的所有值是什么意思吗?我想制作一个下拉列表,显示父元素下元素的值。根据这段代码,你知道如何将dropdwonlist.text传递到@id而不是@id='computer'中吗?我不知道你在这里问什么。是否希望dropdownlist根据其所选文本重新定义自身?
        XmlDocument doc = new XmlDocument();
        doc.Load(@"~/XML/XML.xml");
        var nodes = doc.SelectNodes("warehouse/cat[@id='computer']/item/SN");

        myDropDown.DataTextField = "InnerText";
        myDropDown.DataValueField = "InnerText";


        //now bind the dropdownlist to the dataview
        myDropDown.DataSource = nodes;
        myDropDown.DataBind();