我正在尝试在Blazor中做一些XML东西,我只能得到2条错误消息。 我尝试的第一件事(使用本地XML文件)甚至找不到它...
string xmlPath = "C:\\Users\\me\\Desktop\\users.xml";
XElement contacts = XElement.Load(xmlPath);
Console.WriteLine(contacts);
这将显示一个错误,提示WASM:
[System.IO.FileNotFoundException]找不到文件“ /C:\Users\me\Desktop\users.xml”
它在路径的开头添加了/。
或者,如果我使用随机的在线XML,则会收到“不支持”错误。例如...
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("https://www.w3schools.com/xml/note.xml");
Wasm中显示的完整错误:
此平台不支持[System.PlatformNotSupportedException]操作。
是否只是Web Assembly不支持XML类之类的情况?
答案 0 :(得分:1)
Web Assembly和JavaScript无法访问用户浏览器上的本地文件。当您尝试访问本地文件时,Web程序集会显示一条通知消息,告知用户找不到文件。在这种情况下,这是标准过程。
第二个错误:您要执行的操作是从Blazor应用向位于不同域的服务器发出http请求,这需要您配置CORS,但这不是主要问题。 XmlDocument无法使用HttpClient调用http请求。我不确定它是否完全可以创建自己的HttpClient实例,如果可以,则应使用与Blazor定义的默认HttpCient相同的设置来配置此HttpClient ...
希望这对您有帮助...