【发布时间】:2010-11-24 09:47:10
【问题描述】:
我想从 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()");
}
}
【问题讨论】:
-
如果您说哪里发生错误会有所帮助。此外,当您已经在 XElement 中获得了 XML 时,为什么还要以一种奇怪的方式从它构建一个 XmlDocument?
-
您应该使用
System.Xml.XmlDocument或System.Xml.Linq.XElement。两者都不是! -
嗨,乔恩,我想从 xelement.so 中读取数据,我将 xelement 加载到 xml 文档中。错误发生在 doc.LoadXML(str) 行。
标签: c# asp.net xml linq-to-xml