【发布时间】:2010-11-18 09:26:45
【问题描述】:
在 VB.net 中使用 System.Xml.Xmldocument 加载 XML 文档时,有没有一种方法可以指定文件的相对路径?
path = "file.xml"
xmld.Load(path)
我尝试加载的 XML 文档与 VB 类位于同一目录中。但如果不使用 XML 文档的完整路径,我无法访问它。
【问题讨论】:
在 VB.net 中使用 System.Xml.Xmldocument 加载 XML 文档时,有没有一种方法可以指定文件的相对路径?
path = "file.xml"
xmld.Load(path)
我尝试加载的 XML 文档与 VB 类位于同一目录中。但如果不使用 XML 文档的完整路径,我无法访问它。
【问题讨论】:
仅导入 System.Xml 并尝试...
Dim xmlDoc As XmlDocument = New XmlDocument
xmlDoc.Load(Server.MapPath("Divide.xml"))
Divide.xml 显然会被您的 xml 文件名替换。
来自MSDN,Server.MapPath如下..
指定相对或虚拟路径 映射到物理目录。如果 路径以正向 (/) 开头 或反斜杠(),MapPath 方法返回一个路径,就好像路径是 完整的虚拟路径。如果路径没有 以斜线开头,MapPath 方法返回相对于 .asp 文件的目录是 已处理。
【讨论】:
Application.StartupPath()
将指向应用程序的执行位置。如果您的 XML 文件的最终构建位置将位于与此不同的目录中,我建议创建一个小型文件管理器类,该类将指向文件的正确位置。这样你就可以简单地调用:
xmlDoc.Load(myFileMan.FilePath())
并让经理根据调试/发布版本和任何其他潜在的缓解因素来解决正确的路径。
【讨论】:
如果在 SSIS 中,那么试试这个:
'Loading an Xml File from VB'
Dim xmlDoc As XmlDocument = New XmlDocument
xmlDoc.Load("C:\Test\sample.xml")
【讨论】: