Привязать 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 ответ

Решение

Ответ на ваш вопрос заключается в выполнении этих двух вещей:

  1. Считайте XML в повторно используемый объект. Я мог бы думать о DataSet как о лучшей альтернативе для вас. Таким образом, данные, прочитанные в наборе данных, могут быть повторно использованы для привязки и других объектов. Вот ссылка, где вы можете найти пример того, как читать XML в набор данных. http://www.codeproject.com/Articles/10427/Convert-XML-Data-to-DataSet-and-Back

  2. Другая часть - это привязка набора данных к древовидному представлению, вот пример для этого: http://www.codeproject.com/Articles/25753/Binding-the-ASP-NET-TreeView-to-a-DataSet-or-an-Ob

проблема со второй частью может заключаться в том, что структура вашего набора данных может не подходить для привязки древовидного представления, в этом случае вы можете отфильтровать данные дальше.

Другие вопросы по тегам