从嵌入式资源中读取XML文件的最佳方式是什么?
问题描述:
Dim xmldoc As New XmlDocument()
Dim xmlnode As XmlNodeList
Dim i As Integer
Dim str As String
xmldoc.LoadXml("countyByRegion.xml")
型“System.Xml.XmlException”的异常出现在system.xml.dll的,但在用户代码中没有处理。其他信息:根级别的数据无效。 1号线,位置1
答
我通常会做这个
Dim fsXML As New FileStream("countyByRegion.xml", FileMode.Open, FileAccess.Read)
然后用xmldoc.Load(fsXML)
答
Dim fileText As String
Dim a As Assembly = GetType(ZP957_Form).Assembly
Using reader As New StreamReader(a.GetManifestResourceStream("ZP957.countyByRegion.xml"))
fileText = reader.ReadToEnd()
End Using
xmldoc.LoadXml(fileText)
由于XML嵌入,不得不从大会,我不得不使用GetManifestResourceStream阅读它,然后我们可以做的loadXML因为我们现在有XML格式的文件流。这对我有效。
我有嵌入式资源中的xml文件。我正在处理的应用程序是一个扩展,我没有确切的文件路径,我试过上面的代码,它给了我“mscorlib.dll中发生类型'System.IO.FileNotFoundException'的异常,但没有处理用户代码 附加信息:找不到文件'C:\ Program Files(x86)\ TriZetto \ Facets \ System \ Config \ countyByRegion.xml'。“ – Gautam
如果它是一个嵌入式资源,你不应该需要完整的路径(我在这里丢失了一些简单的东西吗?) – Leprechaun
我很抱歉,我对vb真的很陌生,我使用相同的代码,正如你所建议的,正如你所说的嵌入式资源它不应该在其他位置查找文件。我现在正在研究如何从嵌入式资源中读取文件,但直到现在运行很少。 – Gautam