我正在使用一个面临非常高使用负载的 .NET 应用程序,因此我正在筛选数据方法,因为性能一直是个问题。由于查询的重复性和只读性,它严重依赖 XML。
同一个文件的大量读取发生在一次访问中,一些用于单个变量读取,一些用于绑定到数据源(后者是更大的挑战)。我想加载一次,然后将对象传递给使用它的其他页面和函数。这是我一直在做的数据源绑定:
在父文件中:
Public Property XmlDoc As XmlDocument("file.xml")
在子文件中:
Dim nodes As XmlNodeList = XmlDoc.SelectNodes("/path")
If nodes.Count > 0 Then
myListView.DataSource = nodes
myListView.DataBind()
Else
myListView.Visible = False
End If
这段代码很容易做,但我刚刚在 MSDN上读到XmlDocument 的性能很差。他们建议使用 XPathNavigator,这对于变量来说很容易,但我不知道如何将其设置为控件的数据源。这是我的尝试:
Dim xDoc As XPathDocument = New XPathDocument("file.xml")
Dim xNav As XPathNavigator = xDoc.CreateNavigator()
myListView.DataSource = xNav.MysteryFunction("/path")
myListView.DataBind()
不幸的是 MysteryFunction() 不存在。
任何人都可以帮助处理这段代码,或者提供高性能的解决方案吗?