如何从asp.net网页中的xml文件调用节点
我试图在下面的代码中使用的值:如何从asp.net网页中的xml文件调用节点,asp.net,html,xml,vb.net,Asp.net,Html,Xml,Vb.net,我试图在下面的代码中使用的值: Public Function GetFile() As String Dim di As New DirectoryInfo(< Directory >) Dim files As FileSystemInfo() = di.GetFileSystemInfos() Dim newestFile = files.OrderByDescending(Function(f) f.CreationTime).First R
Public Function GetFile() As String
Dim di As New DirectoryInfo(< Directory >)
Dim files As FileSystemInfo() = di.GetFileSystemInfos()
Dim newestFile = files.OrderByDescending(Function(f) f.CreationTime).First
Return newestFile.FullName
End Function
有什么方法可以在我的代码中调用xml文件中存储的值吗?您可以使用这个因为您非常熟悉Linq,所以可以使用System.xml.Linq对xml进行操作 抱歉,这是c
var xDoc = XDocument.Load("XMLFile1.xml");
var dir = xDoc.Element("ServerList").Elements("Server").Elements("Directory").First().Value;
如果Xml存储在字符串中,请将XDocument.Load替换为XDocument.Parse
显然,您必须在生产代码中防止解析错误、文件丢失和模式不一致。Andy的回答很好,但在VB中更容易
Dim xmlDoc As XDocument
Dim dir as String
xmlDoc = XDocument.Load("XMLFile1.xml")
dir = xmlDoc.<ServerList>.<Server>.<Directory>.First().Value;
如果XML文件中只包含一个您关心的元素,则更简单:
dir = xmlDoc...<Directory>.First().Value;
要回答您对安迪回答的评论:
dir = (From server as XElement in xmlDoc...<Server>
Where server.<ServerName>.First().Value = requiredServer
Select server.<Directory>.First().Value)(0);
谢谢你的回答,效果很好。但是,如果我允许用户选择他们想要的服务器,并将他们的选择写入变量,那么我将如何选择正确的xml节点呢?添加一个where子句,类似于var dir=xDoc.ElementServerList.ElementsServer.Wheresvr=>svr.ElementServerName.Value==T2.elementsddirectory.First.Value;Linq到XML要比这简单得多。如果我想用XML文件中的服务器名称填充asp下拉列表,我可以用类似的方式使用此代码吗?绝对可以-从服务器到xmlDoc中的XElement。。。选择server..First.Value将为您提供一个包含服务器名称的IEnumerableOf字符串。您在谈论哪个XML文件?