首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

讀取 XML 檔案並綁定至 RadioButtonList 完整實作

     編輯:ASP.NET 基礎

XML 資料來源

專案根目錄下 YearOfBirth.xml,結構清晰,適合示範 DataSet.ReadXml() 載入。

<?xml version="1.0" encoding="utf-8"?>
<YearOfBirths>
    <YearOfBirth><ID>1</ID><Name>鼠</Name></YearOfBirth>
    <YearOfBirth><ID>2</ID><Name>牛</Name></YearOfBirth>
    <YearOfBirth><ID>3</ID><Name>虎</Name></YearOfBirth>
    <YearOfBirth><ID>4</ID><Name>兔</Name></YearOfBirth>
    <YearOfBirth><ID>5</ID><Name>龍</Name></YearOfBirth>
    <YearOfBirth><ID>6</ID><Name>蛇</Name></YearOfBirth>
    <YearOfBirth><ID>7</ID><Name>馬</Name></YearOfBirth>
    <YearOfBirth><ID>8</ID><Name>羊</Name></YearOfBirth>
    <YearOfBirth><ID>9</ID><Name>猴</Name></YearOfBirth>
    <YearOfBirth><ID>10</ID><Name>雞</Name></YearOfBirth>
    <YearOfBirth><ID>11</ID><Name>狗</Name></YearOfBirth>
    <YearOfBirth><ID>12</ID><Name>豬</Name></YearOfBirth>
</YearOfBirths>

檔案路徑屬性封裝

private string XmlFilePath
{
    get { return Server.MapPath("~/YearOfBirth.xml"); }
}

前端 RadioButtonList 設定

<asp:RadioButtonList ID="RadioButtonListYearOfBirth" runat="server" 
    RepeatColumns="6" RepeatDirection="Horizontal">
</asp:RadioButtonList>

後端資料綁定

private void Data_Binding()
{
    using (DataSet ds = new DataSet())
    {
        ds.ReadXml(XmlFilePath);
        RadioButtonListYearOfBirth.DataSource = ds;
        RadioButtonListYearOfBirth.DataTextField = "Name";
        RadioButtonListYearOfBirth.DataValueField = "ID";
        RadioButtonListYearOfBirth.DataBind();
    }
}

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack) Data_Binding();
}

核心技術解析

技術點說明
DataSet.ReadXml()自動推斷 XML 結構建立 DataTable,欄位對應 XML 元素名稱
DataTextField顯示文字欄位,對應 XML 的 <Name> 元素
DataValueField實際值欄位,對應 XML 的 <ID> 元素
RepeatColumns水平顯示欄數,此例 6 欄適合 12 生肖
RepeatDirectionHorizontal:水平排列;Vertical:垂直排列

執行結果

RadioButtonList XML 綁定效果

進階應用場景

  • 動態 XML 來源:從資料庫、Web API、組態檔載入 XML 字串,用 ds.ReadXml(new StringReader(xmlString))
  • 巢狀 XML:需手動解析或 XSLT 轉換為平坦結構再綁定
  • 快取優化:靜態 XML 可用 HttpRuntime.Cache 快取 DataSet,避免重複讀檔
  • 錯誤處理:包裝 try-catch 捕捉 FileNotFoundException、XmlException

替代方案比較

  • XDocument + LINQ to XML:型別安全、查詢彈性高、適合複雜 XML
  • XmlDocument:舊版 DOM API,效能較差,維護舊代碼時使用
  • DataSet.ReadXml:最簡潔、直接支援資料綁定、適合簡單平坦結構
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved