从 XML 文件生成 TreeView
Generate TreeView from XML file
我想从 XML 文件等数据源创建 TreeView。我还需要自定义元素的可见名称。
我有:
<?xml version="1.0" encoding="UTF-8"?>
<List>
<siteMapNode title="Title1" url="http://example.com/Pages/General.aspx" description="Description1">
<siteMapNode title="Title2" url="http://example.com/Pages/Base.aspx" description="Description2"/>
</siteMapNode>
<siteMapNode title="Title3" url="http://example.com/Lists/News.aspx" description="Description3"> </siteMapNode>
</List>
我可以生成:
List
siteMapNode
siteMapNode
siteMapNode
现在我想要的是:
List
Title1
Title2
Title3
更新:
我在 .aspx 中生成类似的树视图:
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="footerSiteMap.xml"></asp:XmlDataSource>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="Xmldatasource1" ShowLines="true" ShowCheckBoxes="All">
<DataBindings>
<asp:TreeNodeBinding DataMember="{siteMapNode_Id}" TextField="{siteMapNode_Id}" ValueField="{siteMapNode_Id}" />
<asp:TreeNodeBinding DataMember="{siteMapNode_Id_0}" TextField="{siteMapNode_Id_0}" ValueField="{siteMapNode_Id_0}" />
<asp:TreeNodeBinding DataMember="{title}" TextField="{title}" ValueField="{title}" />
<asp:TreeNodeBinding DataMember="{url}" TextField="{url}" ValueField="{url}" />
<asp:TreeNodeBinding DataMember="{description}" TextField="{description}" ValueField="{description}" />
</DataBindings>
</asp:TreeView>
我如何从 .aspx.cs 生成它?
使用 Attributes 获取 siteMapNode 的值,例如,
var attr = node.Attributes["title"];
我想从 XML 文件等数据源创建 TreeView。我还需要自定义元素的可见名称。
我有:
<?xml version="1.0" encoding="UTF-8"?>
<List>
<siteMapNode title="Title1" url="http://example.com/Pages/General.aspx" description="Description1">
<siteMapNode title="Title2" url="http://example.com/Pages/Base.aspx" description="Description2"/>
</siteMapNode>
<siteMapNode title="Title3" url="http://example.com/Lists/News.aspx" description="Description3"> </siteMapNode>
</List>
我可以生成:
List
siteMapNode
siteMapNode
siteMapNode
现在我想要的是:
List
Title1
Title2
Title3
更新: 我在 .aspx 中生成类似的树视图:
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="footerSiteMap.xml"></asp:XmlDataSource>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="Xmldatasource1" ShowLines="true" ShowCheckBoxes="All">
<DataBindings>
<asp:TreeNodeBinding DataMember="{siteMapNode_Id}" TextField="{siteMapNode_Id}" ValueField="{siteMapNode_Id}" />
<asp:TreeNodeBinding DataMember="{siteMapNode_Id_0}" TextField="{siteMapNode_Id_0}" ValueField="{siteMapNode_Id_0}" />
<asp:TreeNodeBinding DataMember="{title}" TextField="{title}" ValueField="{title}" />
<asp:TreeNodeBinding DataMember="{url}" TextField="{url}" ValueField="{url}" />
<asp:TreeNodeBinding DataMember="{description}" TextField="{description}" ValueField="{description}" />
</DataBindings>
</asp:TreeView>
我如何从 .aspx.cs 生成它?
使用 Attributes 获取 siteMapNode 的值,例如,
var attr = node.Attributes["title"];