Как я могу использовать многодисковый формате XML по каждому элементу с выпадающих меню многодисковый
Привет, у меня есть проблема с моим xml-файлом, у меня есть xml-файл, состоящий из велосипедов. И для каждого типа велосипеда существуют разные размеры. И тогда я сделаю два выпадающих меню. Где один-это велосипеды, а в следующем-размеры, доступные для этого велосипеда.
Он отлично работает для чтения типов велосипедов, но когда я пытаюсь прочитать размеры, которые подходят для велосипеда, он считывает все размеры в выпадающий список, а не те, которые подходят для велосипеда. Я добавил свой файл C # и xml
DropDownList ddl = new DropDownList(); ddl.CssClass = ""; ddl.ID = "ddlBike" + i; ddl.Items.Add(new ListItem("Vælg cykel", "0")); DropDownList ddlSize = new DropDownList(); ddlSize.CssClass = ""; ddlSize.ID = "ddlSize" + i; ddlSize.Items.Add(new ListItem("Højde", "0")); XmlNodeList nodeList = doc.SelectNodes("InfoBikeResponse/BikeTypes/BikeType"); foreach (XmlNode node in nodeList) { ddl.Items.Add(new ListItem(node["Id"].InnerText + HttpUtility.HtmlDecode(" ") + "" + HttpUtility.HtmlDecode(" ") + node["TypeName"].InnerText + "")); ddl.ClearSelection(); XmlNodeList nodeListSize = node.SelectNodes("Sizes/Size"); foreach (XmlNode nodeSize in nodeListSize) { ddlSize.Items.Add(new ListItem(nodeSize["SizeId"].InnerText + HttpUtility.HtmlDecode(" ") + "" + HttpUtility.HtmlDecode(" ") + nodeSize["SizeName"].InnerText, nodeSize["SizeCount"].InnerText + "")); ddlSize.ClearSelection(); } }
<InfoBikeResponse> <BikeTypes> <BikeType> <Id>1</Id> <TypeName>Classic</TypeName> <TypeCount/> <TypePrice>150,00</TypePrice> <TypePriceVat>187,50</TypePriceVat> <Sizes> <Size> <SizeId>10</SizeId> <SizeName>155-167</SizeName> <SizeCount>2</SizeCount> </Size> <Size> <SizeId>11</SizeId> <SizeName>168-172</SizeName> <SizeCount>1</SizeCount> </Size> <Size> <SizeId>12</SizeId> <SizeName>173-185</SizeName> <SizeCount>1</SizeCount> </Size> </Sizes> </BikeType> <BikeType> <Id>2</Id> <TypeName>Sport Bike</TypeName> <TypeCount/> <TypePrice>185,00</TypePrice> <TypePriceVat>231,25</TypePriceVat> <Sizes> <Size> <SizeId>20</SizeId> <SizeName>155-167</SizeName> <SizeCount>2</SizeCount> </Size> <Size> <SizeId>21</SizeId> <SizeName>168-172</SizeName> <SizeCount>3</SizeCount> </Size> </Sizes> </BikeType> <BikeType> <Id>3</Id> <TypeName>MTB</TypeName> <TypeCount/> <TypePrice>220,00</TypePrice> <TypePriceVat>275,00</TypePriceVat> <Sizes> <Size> <SizeId>40</SizeId> <SizeName>155-167</SizeName> <SizeCount>1</SizeCount> </Size> <Size> <SizeId>41</SizeId> <SizeName>168-172</SizeName> <SizeCount>1</SizeCount> </Size> </Sizes> </BikeType> <BikeType> <Id>4</Id> <TypeName>Classic E</TypeName> <TypeCount/> <TypePrice>170,00</TypePrice> <TypePriceVat>212,50</TypePriceVat> <Sizes> <Size> <SizeId>51</SizeId> <SizeName>168-172</SizeName> <SizeCount>2</SizeCount> </Size> </Sizes> </BikeType> </BikeTypes>
Что я уже пробовал:
Linq, Xpath и различные виды решений Google
j snooze
You can't fill the second drop down without knowing what bike they selected. You need to fill the second drop down based off of the bikes selected index change or something likethat. Currently your query is telling the xml to give you all the Size element tags for every bike. First query the bike nodes (use SelectSingleNode where the id tag is whatever number they selected lookup xpath expressions for exact syntax) then once you have just the bike node they selected, you can use an xpath query on that node to query the sizes inside that node. Is that what you are looking for? This is a multiple step process, if I understand what you are trying to do.
Martin Lauritsen
Чтобы дать еще немного объяснения, я создаю HTML-таблицу на лету на основе числа в текстовом поле. Когда я отправляю на сервер, я также получаю xml, который вы видите. Поэтому я хотел бы, чтобы было возможно заполнить второй выпадающий список при его создании. Я загружаю изображение, на этом снимке вы можете видеть строки, которые я сделал на лету.
Martin Lauritsen
http://i64.tinypic.com/2qv8ei1.png
RickZeeland
Это ваш вопрос о ASP.NET -что ?