aspx文件:
<div>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"
ShowCheckBoxes="All" ShowLines="True">
</asp:TreeView>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Details.xml">
</asp:XmlDataSource>
</div>
Deatails.xml:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<Collection Name="Server 1">
<Box>MB1</Box>
<Box>MB2</Box>
<Box>MB3</Box>
<Box>MB4</Box>
<Box>MB5</Box>
</Collection>
</Root>
堆栈追踪:
[XmlException: Root element is missing.]
System.Xml.XmlTextReaderImpl.Throw(Exception e) +76
System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res) +61
System.Xml.XmlTextReaderImpl.ParseDocumentContent() +3981048
System.Xml.XmlTextReaderImpl.Read() +151
System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) +58
System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) +20
System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) +129
System.Xml.XmlDocument.Load(XmlReader reader) +108
System.Web.UI.WebControls.XmlDataSource.PopulateXmlDocument(XmlDocument document, CacheDependency& dataCacheDependency, CacheDependency& transformCacheDependency) +306
System.Web.UI.WebControls.XmlDataSource.GetXmlDocument() +153
System.Web.UI.WebControls.XmlHierarchicalDataSourceView.Select() +17
System.Web.UI.WebControls.TreeView.DataBindNode(TreeNode node) +125
System.Web.UI.WebControls.TreeView.PerformDataBinding() +120
System.Web.UI.WebControls.HierarchicalDataBoundControl.PerformSelect() +85
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
System.Web.UI.WebControls.TreeView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
System.Web.UI.WebControls.TreeView.OnPreRender(EventArgs e) +36
System.Web.UI.Control.PreRenderRecursiveInternal() +80
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
在加载页面时抛出异常,我尝试验证xml文件&amp;根据w3cshools验证器有效。什么事情导致这个例外。在我出错的地方纠正我。谢谢!
答案 0 :(得分:0)
尝试更改您的树视图代码,如下所示
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1">
<DataBindings>
<asp:TreeNodeBinding DataMember="Collection" TextField="Name" />
<asp:TreeNodeBinding DataMember="Box" TextField="Name" />
</DataBindings>
</asp:TreeView>
<?xml version="1.0" encoding="utf-8" ?>
<Collection Name="Server 1">
<Box Name="MB1"></Box>
<Box Name="MB2"></Box>
<Box Name="MB3"></Box>
<Box Name="MB4"></Box>
</Collection>
答案 1 :(得分:0)
<div>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Details.xml">
</asp:XmlDataSource>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"
ShowCheckBoxes="All" ShowLines="True">
<DataBindings>
<asp:TreeNodeBinding DataMember="Collection" TextField="Name" />
<asp:TreeNodeBinding DataMember="Box" TextField="Name" />
</DataBindings>
</asp:TreeView>
</div>
我刚刚更改了xmldatasource的位置,&amp;它现在正在工作。