我无法在 blazor 上读取 xml 文件
I cant read an xml file on blazor
正如我所说,我无法读取本地 XML 文件。
我正在使用我电脑上的路径:“C:\Users\Autoescuela\Desktop\Models\models.xml”
public Models SerializeModels(string path)
{
XmlSerializer serializer = new XmlSerializer(typeof(Models));
Models? models;
using (Stream reader = new FileStream(path, FileMode.Open))
{
models = serializer.Deserialize(reader) as Models;
}
return models;
}
这是错误:
Unhandled exception rendering component: Could not find file '/C:\Users\Autoescuela\Desktop\Models\models.xml'.
我尝试将我的文件夹 Models 放在 wwwroot 文件夹中,但我仍然遇到同样的问题。
Unhandled exception rendering component: Could not find file '/~\Models\models.xml'
Unhandled exception rendering component: Could not find file '/Models\models.xml'.
我还需要在其他使用相同 xml 的应用程序中使用此 XML 并同时更新两者,但如果它需要在 wwwroot 上使用则不是问题。
我找到了解决办法。
我像这样从 xml 中获取数据
protected override async void OnInitialized()
{
models = XqueryFunctions.GetModels(await http.GetStringAsync("Models/models.xml"));
}
然后我加载 .loadXml()
public static XmlNodeList Xquery(string xpath, string document)
{
XmlDocument xml = new();
xml.LoadXml(document);
return xml.SelectNodes(xpath);
}
我知道这不是一个好的答案,但它确实有效,如果有人可以使用文件而不是文件字符串,我将不胜感激。
正如我所说,我无法读取本地 XML 文件。
我正在使用我电脑上的路径:“C:\Users\Autoescuela\Desktop\Models\models.xml”
public Models SerializeModels(string path)
{
XmlSerializer serializer = new XmlSerializer(typeof(Models));
Models? models;
using (Stream reader = new FileStream(path, FileMode.Open))
{
models = serializer.Deserialize(reader) as Models;
}
return models;
}
这是错误:
Unhandled exception rendering component: Could not find file '/C:\Users\Autoescuela\Desktop\Models\models.xml'.
我尝试将我的文件夹 Models 放在 wwwroot 文件夹中,但我仍然遇到同样的问题。
Unhandled exception rendering component: Could not find file '/~\Models\models.xml'
Unhandled exception rendering component: Could not find file '/Models\models.xml'.
我还需要在其他使用相同 xml 的应用程序中使用此 XML 并同时更新两者,但如果它需要在 wwwroot 上使用则不是问题。
我找到了解决办法。 我像这样从 xml 中获取数据
protected override async void OnInitialized()
{
models = XqueryFunctions.GetModels(await http.GetStringAsync("Models/models.xml"));
}
然后我加载 .loadXml()
public static XmlNodeList Xquery(string xpath, string document)
{
XmlDocument xml = new();
xml.LoadXml(document);
return xml.SelectNodes(xpath);
}
我知道这不是一个好的答案,但它确实有效,如果有人可以使用文件而不是文件字符串,我将不胜感激。