在ASP.net中显示多个节点

时间:2012-12-04 04:56:12

标签: asp.net xml vb.net master-pages nodes

我的应用程序中的Web服务有这个xml数据,其输出类似于:

 <?xml version="1.0" encoding="UTF-8"?>
-<NewDataSet> 
-<Table> 


   <RecipeID>12923</RecipeID>
    <RecipeNumber>R-000023</RecipeNumber> 
    <Name>Orange Pineapple Honey chicken (2)</Name> 
    <Servings>4</Servings>
     <PrepTime>20</PrepTime> 
    <CookTime>90</CookTime>
    <MarinateTime>0</MarinateTime> 
    <StandTime>0</StandTime> 
    <ChillTime>0</ChillTime>
    <BrewTime>0</BrewTime> 
    <FreezeTime>0</FreezeTime> 
    <TotalTime>110</TotalTime>  
    <MethodHeader>Makes 4 servings</MethodHeader> 
    <SubTitle>Tasty variation of the delicious honey chicken with an orange pineapple sauce.
</Table> 
-<Table1> 


 <Description>3 lbs. skinless boneless chicken breast halves</Description>  

</Table1> 
-<Table1> 


  <Description>2 Tbsp. salt</Description> 

</Table1> 
-<Table2> 

 <Note>Preheat oven to 350°F. Thoroughly wash chicken breasts and add salt.</Note> 

</Table2> 
-<Table2> 


 <Note>Place the salted chicken breasts in a large baking dish and set them aside. To make the sauce, combine the honey and the pineapple juice.</Note> 

</table2>

</NewDataSet>

因此,我使用ReadXml将其放入数据集中,并使用在DataList中显示信息 在我的母版页的源代码内部<%#Eval("RecipeID")%>,依此类推。

问题在于我到达<table1>。我无法获得多个节点(鸡和盐)。我该如何获取这两个节点。所以我可以继续<table2>我在哪里做同样的事情并得到两个<note>节点

2 个答案:

答案 0 :(得分:0)

您无法在单个DataSet中创建两个具有相同名称的DataTable。您可以通过执行以下操作验证:

var ds = new DataSet();
ds.Tables.Add(new DataTable("Table1"));
ds.Tables.Add(new DataTable("Table1"));

我认为您需要将<Table1>中的两行折叠到一个表中。那么你就不会遇到任何问题。

答案 1 :(得分:0)

我刚刚使用.selectNodes并在循环中获取每个项目