使用C#从DB加载XML

时间:2010-11-24 09:47:10

标签: c# asp.net xml linq-to-xml

我想从db检索XML数据并将其绑定到DropDownList。

db字段中的XML数据如下:

<Root>
    <ClientName>Jim</ClientName>
    <ClientName>John</ClientName>
    <ClientName>Andrew</ClientName>
</Root>

我从db字段中检索了xml数据。但是,我有下一个错误:

  

根级别的数据无效。第1行,第1位

以下代码用于从db字段中检索xml数据。你对这个问题有什么看法吗?

var list = from drp in zephyrEntities.UserDefinedFields
           where drp.UDF_ID == udfid
           select drp.LIST_VALUES; // xml field in the db

XmlDocument doc = new XmlDocument();
XElement xelement = new XElement("UserDefinedList", list);
string str = String.Concat(xelement.Nodes());
doc.LoadXML(str);
XmlNodeList childNodes = doc.GetElementsByTagName("ClientName");
if (childNodes != null)
{
    for (int i = 0; i < childNodes.Count; i++)
    {
        XmlNode valueNode = childNodes[i].SelectSingleNode("text()");
    }
}

1 个答案:

答案 0 :(得分:1)

目前尚不清楚为什么将实体列表存储为一个值。尝试规范化数据库模型。