【问题标题】:how to pass xml data to gridview?如何将xml数据传递给gridview?
【发布时间】:2014-04-14 19:37:37
【问题描述】:

最近我在开发过程中遇到了一个问题。我在变量中有一些 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。但在我的情况下它在一个变量中。

【问题讨论】:

标签: c# asp.net xml xslt


【解决方案1】:

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

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

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

///

还可以查看这个旧主题以了解更多信息

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

【讨论】:

    【解决方案2】:

    尝试以下步骤:

    1.) 将 XML 数据加载到 StringReader

    2.) 将此StringReader 对象提供给DataSetReadXml() 方法

    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();
    

    【讨论】:

    • 那么在转换之后,你得到了最终的 XML 吗?
    • Flopscientist .....正如你在我上面的代码中看到的那样,我收到了 xml 并在前面的步骤中进行了转换。现在我想将该 xml 数据作为数据集,这将使我通过与数据源到网格相同...
    • 是的,如果在转换/修改后你得到了最终的 XML,然后在步骤 1 中将此 xml 传递给 StringReader
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2010-12-10
    • 2011-08-30
    相关资源
    最近更新 更多