Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从asp.net网页中的xml文件调用节点_Asp.net_Html_Xml_Vb.net - Fatal编程技术网

如何从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文件?