2016-07-20 29 views
0

ich eine XML-Datei, die durch die Kunden, die mir gegeben ist, so kann ich es nicht so aussieht ändern:Wie mein DDL aus XML-Datenquelle in asp.net binden

CodeBase.XML

<?xml version="1.0" encoding="utf-8"?> 
<CATALOG> 
    <orderByTitleDesc /> 
    <orderByTitleDesc /> 
    <orderByTitleDesc /> 
    <orderByTitleDesc /> 
    <orderByTitleDesc /> 
    <CD> 
    <CodeBase>hellow</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>http://KL1225K7/EViewer/Client/EvCtrl6En.cab#version=9,4,2,9</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>31 amrch testing for font</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>CodeBase2</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>Ser</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>ZaidiTest</CodeBase> 
    </CD> 
    <CD> 
    <CodeBase>test222</CodeBase> 
    </CD> 
</CATALOG> 

ich möchte mit diesem diese xML binden in ddl

ich den Code in Code-behind-Datei schreibe wie folgt:

protected void Page_Load(object sender, EventArgs e) 
    { 

     string filePath = Server.MapPath("CodeBase.xml"); 
     using (DataSet ds = new DataSet()) 
     { 
      ds.ReadXml(filePath); 
      ddlCodeBase.DataSource = ds.Tables["1"]; 
      ddlCodeBase.DataTextField = "CodeBase"; 
      ddlCodeBase.DataValueField = "CD"; 
      ddlCodeBase.DataBind(); 
     } 
    } 

Clientseitiger Code wie folgt:

<asp:DropDownList ID="ddlCodeBase" runat="server" ></asp:DropDownList> 

Aber ich bekomme leere DDl (keine Daten drin). Bitte lassen Sie mich wissen, Jungs, was zu tun ist. Vielen Dank im Voraus.

+1

Mögliches Duplikat [Wie ich meine Dropdownlist mit Daten aus einer XML-Datei in meiner ASP.NET-Anwendung füllen] (http://stackoverflow.com/questions/11646031/how-i-can-fill- my-dropdownlist-with-data-from-a-xml-datei-in-meinem-asp-net-applicati) – Uali

Antwort

0

Versuchen Sie den folgenden Code. es funktioniert gut für mich.

string filePath = Server.MapPath("~/Cities.xml"); 
using (DataSet ds = new DataSet()) 
{ 
    ds.ReadXml(filePath); 
    ddlCities.DataSource = ds; 
    ddlCities.DataTextField = "CodeBase"; 
    ddlCities.DataValueField = "CodeBase"; 
    ddlCities.DataBind(); 
} 
+0

Wenn ich Debug bis zum letzten in gibt gibt mir Fehler wie folgt Eine Ausnahme vom Typ 'System.Web.HttpException' aufgetreten in System.Web.dll, aber wurde nicht in Benutzercode behandelt Zusätzliche Informationen: DataBinding: 'System.Data.DataRowView' enthält keine Eigenschaft mit dem Namen 'CodeBase'. –

+0

Dateiname ändern Ich habe cities.xml verwendet – Surajghosi

+0

Erledigt Durch Hinzufügen dieses Codes funktioniert es Gut –