Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
将XML绑定到ASP.NET Gridview_Asp.net_Xml_Data Binding_Gridview - Fatal编程技术网

将XML绑定到ASP.NET Gridview

将XML绑定到ASP.NET Gridview,asp.net,xml,data-binding,gridview,Asp.net,Xml,Data Binding,Gridview,我有这样一个XML文档: <?xml version="1.0" encoding="UTF-8"?> <cars> <car type="Wagon" make="Volvo"> <colours> <colour>Red</colour> <colour>Yellow</colour> </colours

我有这样一个XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<cars>
    <car type="Wagon" make="Volvo">
        <colours>
            <colour>Red</colour>
            <colour>Yellow</colour>
        </colours>
    </car>
    <car type="Sedan" make="Audi">
        <colours>
            <colour>Green</colour>
            <colour>Blue</colour>
        </colours>
    </car>
</cars>
Type     Make     Colours
Wagon    Volvo    Red, Yellow
Sedan    Audi     Green, Blue
我知道这可能会修改我的转换文件以将颜色存储在XML属性中,但这会使根据颜色过滤XmlDataSource变得困难

我计划动态修改XmlDataSource的Xpath属性,以便过滤器显示数据


是否有任何方法可以使用ASP.NET实现此功能。我有.NET Framework 4.0可供使用。

肯定有一种更简单的方法,但这里有一些东西可以供初学者使用……经过大量的研究,我得到了这个

你需要一个模板字段。在其中,您需要放置一个XmlDataSource和一个中继器

将xmldatasource指向考虑中的文件。指定前面提到的相同http url和xslt转换。在XPath中,需要选择节点,同时考虑car节点中的所有属性

因此,对于第一个xmldatasource,Xpath看起来像

cars/car[@type='Wagon' and @make='Volvo']/colours/colour
在repeater itemtemplate中,执行以下操作:

XPath(“.”)

如果您对本练习的代码示例感兴趣:


愉快的编码。

您需要一个ItemTemplate字段,并在其中使用转发器之类的东西……您可以发布xmldatasource的标记吗。