如何将xml数据传递给gridview?

时间:2014-03-11 09:31:07

标签: c# asp.net xml xslt

最近我在开发期间遇到了问题。我在变量中有一些xml值(不在单独的文件中)。我使用xslt转换xml并在我的网页中使用xml控件显示它们。我的要求是已更改,我应该在Gridview中显示xml值而不是xml控件。

string getval= //some stuff where webservice returns xml.
// here I specified content to xmldynamic control
xmldynamic.TransformSource=//my xslt comes here..

现在我想在gridview中显示转换的XML。是否有可能......如果可能的话...... 我在网上浏览并确定如果xml在文件中,那么可以使用xml数据源,转换并将数据源定义为gridview。但在我的情况下,它在变量中。

2 个答案:

答案 0 :(得分:1)

有很多第三方类/软件可以做到这一点。

例如对于网络来说这是一个功能强大的应用程序,也许你不想要这个广泛的应用程序,但考虑ExtJS

http://docs.sencha.com/extjs/4.2.2/

///

另请查看此旧主题以获取更多信息

Is there an XML Editor with grid view similar to that of XMLSpy?

答案 1 :(得分:1)

尝试以下步骤:

1。)在StringReader

中加载XML数据

2。)将此StringReader对象提供给ReadXml()

DataSet方法

3。)现在将此DataSet绑定到您的GridView。     这一步总是很棘手(可能),因为取决于XML格式我需要稍微修改它:ds.Tables[0];ds.Tables[1];等...

示例:

string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Cameras>
  <Camera>
    <Model>Canon EOS-1D</Model>
    <Price>$5219</Price>
  </Camera>
  <Camera>
    <Model>Canon EOS-1D Mark IV</Model>
    <Price>$5000</Price>
  </Camera>
</Cameras>";

StringReader sr = new StringReader(xml); // Step 1
DataSet ds = new DataSet();
ds.ReadXml(sr); // Step 2
GridView1.DataSource = ds.Tables[0]; // Step 3
GridView1.DataBind();