从嵌入式资源中读取XML文件的最佳方法是什么?

时间:2016-11-17 14:56:17

标签: xml vb.net

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位。

3 个答案:

答案 0 :(得分:1)

LoadXml不用于加载文件,而是用于将XML加载为字符串。所以它希望你做类似LoadXml("<root><bar>hi</bar></root>");的事情。显然,文件名不是有效的XML。

您可以使用Load加载文件。您可以像使用LoadXml一样使用它,只需指定文件的路径即可。

答案 1 :(得分:0)

我通常会这样做

if(this.one){
   fill(255);
}

然后使用Dim fsXML As New FileStream("countyByRegion.xml", FileMode.Open, FileAccess.Read)

答案 2 :(得分:0)

 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的文件流。这对我有用。