filestorage 报错 Valid XML should start with xml ...的解决办法

如文章标题所示,在使用filestorage函数读取.xml文件时,opencv报错,并且提示触发中断,如下图1,2所示:

filestorage 报错 Valid XML should start with xml ...的解决办法filestorage 报错 Valid XML should start with xml ...的解决办法
OpenCV(4.1.1) Error: Parsing error (cv::XMLParser::parse) in parameters.xml(1): Valid XML should start with ‘<?xml ...?>’, file C:\professional software\opencv\sources\modules\core\src\persistence_xml.cpp, line 805

出现这种问题尝试两种解决方法:
1、查看工程属性页,是否有opencv链接库混用的问题。比如debug模式的工程链接库为opencv_worldxxx.lib,或者release模式的工程链接库为opencv_worldxxxd.lib。这种情况将链接库改对应正确即可;
filestorage 报错 Valid XML should start with xml ...的解决办法
2、查看.xml文件的编码格式,filestorage函数可以读取多种编码格式,比如“UTF-8”、“ANSI”格式等等。但博主在用C++自带编译器生成的xml文件,编码格式是“UTF-8-BOM”,这种情况是函数不支持的。需要用软件(如notepad++)转码,转码后文件读取正常。