【问题标题】:Load XML from DB using C#使用 C# 从数据库加载 XML
【发布时间】: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.XmlDocumentSystem.Xml.Linq.XElement。两者都不是!
  • 嗨,乔恩,我想从 xelement.so 中读取数据,我将 xelement 加载到 xml 文档中。错误发生在 doc.LoadXML(str) 行。

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


【解决方案1】:

尚不清楚为什么将实体列表存储为一个值。尝试标准化您的数据库模型。

【讨论】:

    猜你喜欢
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多