Привязать XML к элементам управления
Я хочу связать внешний 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>
1 ответ
Ответ на ваш вопрос заключается в выполнении этих двух вещей:
Считайте 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
проблема со второй частью может заключаться в том, что структура вашего набора данных может не подходить для привязки древовидного представления, в этом случае вы можете отфильтровать данные дальше.