xml - Blazor 中的 XML... Wasm:[System.PlatformNotSupportedException] 此平台不支持操作
问题描述
我正在尝试在 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 类或类似的东西吗?
解决方案
Web Assembly 和 JavaScript 无法访问驻留在用户浏览器上的本地文件。当您尝试访问本地文件时,Web Assembly 会显示一条通知消息,告诉用户它找不到该文件。这是这种情况下的标准程序。
至于第二个错误:您尝试做的是从 Blazor 应用程序向驻留在不同域中的服务器发出 http 请求,这需要您配置 CORS,但这不是主要问题。XmlDocument 无法使用 HttpClient 调用 http 请求。我不确定它是否可以创建自己的 HttpClient 实例,如果可以,则应该使用与 Blazor 定义的默认 HttpCient 相同的设置来配置此 HttpClient ......
希望这可以帮助...
推荐阅读
- azure - 无法在服务总线中创建主题
- delphi - 可以将 TScrollBox 控件的全部内容呈现到图像文件吗?
- java - 将数组作为参数传递,没有第一个元素 java
- javascript - 如何使用marginLeft而不是scrollLeft水平滚动div?
- c# - 使用临时数据实现 post-get-redirect 模式时的模型绑定错误
- python - 从其他文件导入 Python 函数会执行其他文件
- html - 空格随机出现在div之间的不同位置
- .net - 无法通过 NuGet 解决依赖关系
- node.js - Firebase 事务一次更新文档中的多个字段
- angular - Angular 8 Universal - 生产构建后./dist 中没有 index.html