【问题标题】:How to convert XML file into DataSource?如何将 XML 文件转换为 DataSource?
【发布时间】:2011-11-09 22:26:51
【问题描述】:

首先我想让你知道我以前从未使用过 XML 作为数据源。

我有一个名为“answers.xml”的 XML 文件,我需要连接 gridview、formview 等...

<?xml version="1.0"?>
<Answers>  
<AnswerSet>
    <Answer questionId="MRN">4444</Answer> 
    <Answer questionId="FName">test</Answer> 
    <Answer questionId="LName">patient</Answer> 
    <Answer questionId="AddressPt">blah blah</Answer> 
    <Answer questionId="Governorate">xxxx</Answer> 
    <Answer questionId="InitialCSF">Negative</Answer> 
    <Answer questionId="Diagnosis"></Answer> 
    <Answer questionId="Description"> </Answer>   
</AnswerSet>   
<AnswerSet> 
    <Answer questionId="MRN">1</Answer> 
    <Answer questionId="FName">1</Answer> 
    <Answer questionId="LName">1</Answer> 
    <Answer questionId="AddressPt">1</Answer> 
    <Answer questionId="InitialCSF">Positive</Answer> 
    <Answer questionId="Diagnosis">dx</Answer> 
    <Answer questionId="Description"> </Answer>   
</AnswerSet>
</Answers>

我需要一种方法来使用 .NET 更改 xml 文件中的数据(编辑/删除)

【问题讨论】:

  • 一个建议:使用像&lt;MRN&gt;4444&lt;/MRN&gt; 这样的XML 而不是&lt;Answer questionId="MRN"&gt;4444&lt;/Answer&gt;。
  • @Dour High Arch:数据输入系统依赖于一个 DLL,该 DLL 像在 xml 文件中那样输入数据。我需要编辑/删除输入的数据

标签: asp.net xml database


【解决方案1】:

如果您不想使用XmlDataSource 控件,也可以使用 LINQ to XML 从文件中创建数据源对象:

XDocument doc = XDocument.Load("somefile.xml");

var results = from answer in doc.Descendants("Answer")
              select new
              {
                  Question = answer.Attribute("questionId").Value,
                  Answer = answer.Value
              };

GridView1.DataSource = results;
GridView1.DataBind();

【讨论】:

  • 在您的代码中“.Load("somefile.xml");"如何在应用程序根目录中加载 xml 文件?
  • 只需使用 Server.MapPath("~/somefile.xml")
  • 这有点复杂。我现在正在打电话,但有机会我会举个例子。
【解决方案2】:

System.Web.UI.WebControls.XmlDataSource 类将返回一个给定 XML 文件的 ASP.NET 数据源。给定的链接包括示例代码和演练。

请注意,如果您必须使用 XML 属性作为键,您的 XPath 表达式将包含 Answer[@MRN] 之类的内容。

【讨论】:

    猜你喜欢
    • 2014-10-08
    • 1970-01-01
    • 2012-12-26
    • 2014-10-26
    • 1970-01-01
    • 2019-06-03
    • 2012-06-15
    • 2014-11-11
    • 2014-04-15
    相关资源
    最近更新 更多