Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将XML文件转换为数据源?_Asp.net_Xml_Database - Fatal编程技术网

Asp.net 如何将XML文件转换为数据源?

Asp.net 如何将XML文件转换为数据源?,asp.net,xml,database,Asp.net,Xml,Database,首先,我想让您知道,我以前从未使用XML作为数据源 我有一个名为“answers.XML”的XML文件,我需要连接gridview、formview等 <?xml version="1.0"?> <Answers> <AnswerSet> <Answer questionId="MRN">4444</Answer> <Answer questionId="FName">test</Answer&g

首先,我想让您知道,我以前从未使用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>

4444
试验
病人
废话
xxxx
消极的
1.
1.
1.
1.
肯定的
dx
我需要一种使用.NET更改xml文件中的数据(编辑/删除)的方法,该类将返回给定xml文件的ASP.NET数据源。给定的链接包括示例代码和演练


请注意,如果必须使用XML属性作为键,则XPath expressin将包含类似于
Answer[@MRN]

的内容。如果不想使用
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();

一个建议是:使用类似XML的
4444
而不是
4444
@Dour High-Arch:数据输入系统依赖于一个DLL,该DLL可以像XML文件中那样输入数据。我需要编辑/删除代码中输入的数据。Load(“somefile.xml”);“如何在应用程序根目录中加载xml文件?只需使用Server.MapPath(“~/somefile.xml”),这有点复杂。我现在正在打电话,但如果有机会,我会举一个例子。