【问题标题】:How to make 2 columns in dropdownlist while parsing XML?解析 XML 时如何在下拉列表中创建 2 列?
【发布时间】:2019-11-30 12:25:47
【问题描述】:
remcl3.Wcl3Client client = new remcl3.Wcl3Client();
string rrs = client.getsql("sabatini", "ZXCqwe1920",112, w);            

string xml = @rrs;

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

XmlNodeList elemList = doc.GetElementsByTagName("AC_NO");
XmlNodeList elem = doc.GetElementsByTagName("AC_NAME");

for (int i = 0; i < elemList.Count; i++)
{
    rem_no.DataTextField = doc.GetElementsByTagName("AC_NO").ToString();
    rem_no.Items.Add(elemList[i].InnerXml);
    rem_no.DataValueField = doc.GetElementsByTagName("AC_NAME").ToString();
    rem_no.Items.Add(elem[i].InnerXml);
}

我正在尝试使用 C# ASP.NET 解析具有两个字段 ac_noac_name 的 XML,并将数据值、数据文本放入下拉列表并绑定数据值。

我尝试了以下代码,但没有成功:

我想绑定ac_no并显示ac_name;有什么帮助吗?

【问题讨论】:

    标签: c# asp.net xml drop-down-menu xml-parsing


    【解决方案1】:

    您可以使用DataTable

    C# 代码:

    remcl3.Wcl3Client client = new remcl3.Wcl3Client();
    string rrs = client.getsql("sabatini", "ZXCqwe1920",112, w);            
    
    string xml = @rrs;
    
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);
    
    XmlNodeList elemList = doc.GetElementsByTagName("AC_NO");
    XmlNodeList elem = doc.GetElementsByTagName("AC_NAME");
    
    DataTable table = new DataTable();
    
    table.Columns.Add("AC_NO");
    table.Columns.Add("AC_NAME");
    
    for (int i = 0; i < elemList.Count; i++)
    {
        DataRow row = table.NewRow();
    
        var value = elemList[i].InnerXml;
        var text = elem[i].InnerXml;
    
        row["AC_NO"] = value;
        row["AC_NAME"] = text;
    
        table.Rows.Add(row);
    }
    
    // Configure your Dropdownlist
    rem_no.DataSource = table;
    rem_no.ValueMember = "AC_NO";
    rem_no.DisplayMember = "AC_NAME";
    rem_no.SelectedIndex = -1;
    

    或者使用ListItem:

    C# 代码:

    remcl3.Wcl3Client client = new remcl3.Wcl3Client();
    string rrs = client.getsql("sabatini", "ZXCqwe1920",112, w);            
    
    string xml = @rrs;
    
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);
    
    XmlNodeList elemList = doc.GetElementsByTagName("AC_NO");
    XmlNodeList elem = doc.GetElementsByTagName("AC_NAME");
    
    for (int i = 0; i < elemList.Count; i++) 
    {
        var value = elemList[i].InnerXml;
        var text = elem[i].InnerXml;
    
        rem_no.Items.Add(new ListItem(text, value));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      相关资源
      最近更新 更多