将带有'μ'符号的XML导入excel

时间:2016-07-20 10:51:06

标签: c# xml vb.net excel

我正在尝试使用Data将XML文件导入excel - >其他来源 - >从XML数据导入。当文件包含“μ”符号时,会出现以下错误:

  

无效的文件参考。文件的路径无效,或者一个或   无法找到更多引用的模式。

XML看起来像这样:

<root>
  <File>
    <FileName>Data\7.5 µg_mL Sample.pdf</FileName>
  </File>
</root>

如果我删除微克符号,它就可以工作,Excel会导入数据。

我使用XNode.toString()在.net中生成XML文件,如果我通过验证器运行XML,则不会返回任何错误。如果我将XML声明放在文件的顶部并将其声明为UTF-8或16,那似乎并不重要。

欢迎使用任何指针,我希望检查可能导致此问题的任何字符,因为我猜不仅仅是微克符号。

我将XML字符串传递给一个交换自定义xml文件的函数,我似乎没有选择在这里更改文件格式..

'Uses Ionic.Zip.ZipFile
Using zip As ZipFile = ZipFile.Read(fileDest)
    zip.RemoveEntry(xmlPath)
    zip.Save()
    zip.AddEntry(xmlPath, customXml)
    zip.Save()
End Using

1 个答案:

答案 0 :(得分:2)

对于您正在使用的AddEntry的重载,每the docs次:

  

条目的内容使用机器的默认文本编码进行编码

您希望这是UTF-8,因此您可以使用the overload that allows you to specify the encoding

zip.AddEntry(xmlPath, customXml, Encoding.UTF8);