xml文档如下:
<?xml version="1.0" encoding="utf-8"?>
<ExamPaper PKID="2" Name="我的第一期试卷" BeginDate="2009-1-1" EndDate="2009-12-30" Scort="150" UserTime="100" FK_UserType="1" FK_AdminUser="1">
  <Question PKID="问题编号0" Name="问题内容0" FK_QuestionType="单选题">
    <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0</QuestionItem>
    <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1</QuestionItem>
    <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2</QuestionItem>
    <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3</QuestionItem>
    <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4</QuestionItem>
  </Question>
  <Question PKID="问题编号1" Name="问题内容1" FK_QuestionType="单选题">
    <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0</QuestionItem>
    <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1</QuestionItem>
    <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2</QuestionItem>
    <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3</QuestionItem>
    <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4</QuestionItem>
  </Question>
  <Question PKID="问题编号2" Name="问题内容2" FK_QuestionType="单选题">
    <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0</QuestionItem>
    <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1</QuestionItem>
    <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2</QuestionItem>
    <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3</QuestionItem>
    <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4</QuestionItem>
  </Question>
  <Question PKID="问题编号3" Name="问题内容3" FK_QuestionType="单选题">
    <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0</QuestionItem>
    <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1</QuestionItem>
    <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2</QuestionItem>
    <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3</QuestionItem>
    <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4</QuestionItem>
  </Question>
  <Question PKID="问题编号4" Name="问题内容4" FK_QuestionType="单选题">
    <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0</QuestionItem>
    <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1</QuestionItem>
    <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2</QuestionItem>
    <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3</QuestionItem>
    <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4</QuestionItem>
  </Question>
</ExamPaper>请问:
我怎么做到题目跟答题的嵌套?

解决方案 »

  1.   

    这个用Label+radio button group吧
      

  2.   


    string sXml="<?xml version="1.0" encoding="utf-8"?> 
    <ExamPaper PKID="2" Name="我的第一期试卷" BeginDate="2009-1-1" EndDate="2009-12-30" Scort="150" UserTime="100" FK_UserType="1" FK_AdminUser="1"> 
      <Question PKID="问题编号0" Name="问题内容0" FK_QuestionType="单选题"> 
        <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0 </QuestionItem> 
        <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1 </QuestionItem> 
        <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2 </QuestionItem> 
        <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3 </QuestionItem> 
        <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4 </QuestionItem> 
      </Question> 
      <Question PKID="问题编号1" Name="问题内容1" FK_QuestionType="单选题"> 
        <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0 </QuestionItem> 
        <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1 </QuestionItem> 
        <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2 </QuestionItem> 
        <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3 </QuestionItem> 
        <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4 </QuestionItem> 
      </Question> 
      <Question PKID="问题编号2" Name="问题内容2" FK_QuestionType="单选题"> 
        <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0 </QuestionItem> 
        <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1 </QuestionItem> 
        <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2 </QuestionItem> 
        <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3 </QuestionItem> 
        <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4 </QuestionItem> 
      </Question> 
      <Question PKID="问题编号3" Name="问题内容3" FK_QuestionType="单选题"> 
        <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0 </QuestionItem> 
        <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1 </QuestionItem> 
        <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2 </QuestionItem> 
        <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3 </QuestionItem> 
        <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4 </QuestionItem> 
      </Question> 
      <Question PKID="问题编号4" Name="问题内容4" FK_QuestionType="单选题"> 
        <QuestionItem PKID="答案选项编号0" IsRight="0">答案选项内容0 </QuestionItem> 
        <QuestionItem PKID="答案选项编号1" IsRight="0">答案选项内容1 </QuestionItem> 
        <QuestionItem PKID="答案选项编号2" IsRight="0">答案选项内容2 </QuestionItem> 
        <QuestionItem PKID="答案选项编号3" IsRight="0">答案选项内容3 </QuestionItem> 
        <QuestionItem PKID="答案选项编号4" IsRight="0">答案选项内容4 </QuestionItem> 
      </Question> 
    </ExamPaper>"
    DataSet ds = new DataSet();
            XmlDocument xml = new XmlDocument();
            xml.LoadXml(sXml.ToString());
            ds.ReadXml(new XmlNodeReader(xml));        GridView1.DataSource = ds.Tables[0].DefaultView;
            GridView1.DataBind();
      

  3.   

    我是想问下怎么嵌套起来显示 ! 单个的绑定这个我会! 
    就是用一个gridview绑定题目
    题目下面用gridview来绑定答案选项!
      

  4.   

    用datalist嵌套
    我这个有小例子<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound">
                            <ItemTemplate>
                                <td>
                                    <tr>
                                        <td>
                                            <asp:Label ID="id" runat="server" Text='<%#Eval("questionid") %>' Visible="false"></asp:Label>
                                            <asp:Label ID="type" runat="server" Text='<%#Eval("questiontype" ) %>' Visible="false"></asp:Label>
                                            <%#Eval("questionname")%>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:DataList ID="dlanswer" runat="server" OnItemDataBound="dlanswer_ItemDataBound">
                                                <ItemTemplate>
                                                    <td>
                                                        <asp:Label ID="aid" runat="server" Text='<%#Eval("answerid") %>' Visible="false"></asp:Label>
                                                        <asp:CheckBoxList ID="cb" runat="server" Visible="False" ValidationGroup="cb">
                                                        </asp:CheckBoxList>
                                                        <asp:RadioButtonList ID="rb" runat="server" Visible="False" DataTextField='<%#Eval("answername") %>'
                                                            DataValueField='<%#Eval("answerid") %>'>
                                                        </asp:RadioButtonList>
                                                        <asp:TextBox ID="txtContent" runat="server" Visible="False" TextMode="MultiLine"
                                                            Width="200" Height="80px"></asp:TextBox>
                                                    </td>
                                                </ItemTemplate>
                                            </asp:DataList>
                                        </td>
                                    </tr>
                                </td>
                            </ItemTemplate>
                        </asp:DataList>
    后台这样判断 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                MODULE_InvestQuestion miq = new MODULE_InvestQuestion();
                miq.InvestID = Convert.ToInt32(Request.QueryString["id"].ToString());
                try
                {
                    DataList1.DataSource = bllquestion.SearchTable(miq);
                    DataList1.DataBind();
                }
                catch (Exception ex)
                {
                    js.JsMsg(ex.Message);
                }
                }
            }    }    //绑定外层datalist
        protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataList dl = (DataList)e.Item.FindControl("dlanswer");
                Label lb = (Label)e.Item.FindControl("id");
                try
                {
                    MODULE_InvestAnswer mia = new MODULE_InvestAnswer();
                    mia.QuestionID = Convert.ToInt32(lb.Text.Trim());
                    DataTable dt = bllanswer.SearchTable(mia);
                    ViewState["dt"] = dt;
                    dl.DataSource = dt;
                    dl.DataBind();
                }
                catch (Exception ex)
                {
                    js.JsMsg(ex.Message);
                }
            }
        }
        //绑定内层datalist
        protected void dlanswer_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label lbtype = (Label)e.Item.Parent.Parent.FindControl("type");
                string type = lbtype.Text.Trim();
                if (type.Equals("0"))//文本
                {
                    TextBox tb = (TextBox)e.Item.FindControl("txtContent");
                    tb.Visible = true;
                }
                if (type.Equals("1"))//单选
                {
                    RadioButtonList rb = (RadioButtonList)e.Item.FindControl("rb");
                    rb.DataSource = (DataTable)ViewState["dt"];
                    rb.DataBind();
                    rb.Visible = true;            }
                if (type.Equals("2"))//多选
                {
                    CheckBoxList cb = (CheckBoxList)e.Item.FindControl("cb");
                    cb.Visible = true;
                }
            }
        }
    顺便说一下
     你结贴率够低的