作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
专家!我对 XML 很陌生。但是,webapp 以 XML 形式收集数据,我必须在 ASP.Net GridView 中显示它(并启用编辑)。我需要你的帮助。
<?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>
最佳答案
我能想到的将 XML 绑定(bind)到 gridview 的最简单方法是将 xml 加载到 DataSet,然后将 DataSet 绑定(bind)到 gridview:
StringReader sr= new StringReader(xml);
DataSet ds = new DataSet();
ds.ReadXml(sr);
Gridview.DataSource=ds.Tables[1];
Gridview.DataBind();
执行 ds.Tables[0]
的原因是您的示例包含 2 组 Answers
并且当您使用 XML 加载 DataSet 时,第一个 DataTable 将包含行数与 XML 中的答案集一样多,而第二个表将包含所有答案集中的所有行。
LinqPad显示方式如下:
更新:
string xml=@"<?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>";
StringReader sr= new StringReader(xml);
DataSet ds = new DataSet();
ds.ReadXml(sr);
ds.Merge(ds,true);
gridview.DataSoure=ds.Tables[1];
gridview.DataBind();
关于asp.net - 如何将 XML 数据显示到 ASP.Net gridview 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056092/
我是一名优秀的程序员,十分优秀!