我想将xml外部文件绑定到TreeView
,但我想使用相同的XMLDataSource
来填充其他控件。
首先,我想知道最好的方法是什么。因为我认为如果将XPath
或TransformFile
应用于DataSource
,我将限制数据源,并且我将无法在其他控件中使用它。
接下来,如果有一种方法可以指定该xml的根节点绑定到TreeView,并且是否可以隐藏某些节点。
这是我到目前为止所做的。
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" ExpandDepth="1" >
<DataBindings >
<asp:TreeNodeBinding DataMember="header" TextField="title"/>
<asp:TreeNodeBinding DataMember="group" TextField="name"/>
<asp:TreeNodeBinding DataMember="item" TextField="text" />
</DataBindings>
</asp:TreeView>
答案 0 :(得分:0)
你的问题的答案是做这两件事:
将XML读入可重用对象。我认为DataSet是您的最佳选择。这样,一旦读入数据集的数据也可以重用以绑定其他对象。这是一个链接,您可以在其中找到如何将XML读入数据集的示例。 http://www.codeproject.com/Articles/10427/Convert-XML-Data-to-DataSet-and-Back
另一部分是将数据集绑定到树视图,这是一个示例: http://www.codeproject.com/Articles/25753/Binding-the-ASP-NET-TreeView-to-a-DataSet-or-an-Ob
第二部分的问题可能是您的数据集结构可能不适合绑定树视图,在这种情况下您可以进一步过滤数据。