【问题标题】:Unable to read XML file无法读取 XML 文件
【发布时间】:2018-04-11 20:30:35
【问题描述】:

我是 UWP 新手,无法让我的 XAML 页面读取 XML 文件。我想获取 XML 文件中的条目并将它们加载到下拉列表中。我还没有在我的 XAML 页面中设置下拉菜单,但我只是想读入一个 XML 文件。当我使用 C# 方法 (Page_Loaded) 时,它收到一条错误消息,提示我无法在 UI 线程中执行 .Load 命令,需要将其移至 Task.Run。这是我的 XAML...

<Page
    x:Class="TestProject.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:TestProject"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" Loaded="Page_Loaded">
</Page>  

这是我的代码...

using System.Xml.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace TestProject
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            XDocument file = XDocument.Load(@"C:\AvailableTestsXMLFile.txt");             

        }       
    }
}

// 任何帮助将不胜感激!

// 这里是确切的错误...不应该在 UI 线程上执行同步操作。考虑将此方法包装在 Task.Run 中。

【问题讨论】:

  • “出现错误提示...”不要解释错误消息,将错误消息复制到您的问题中。
  • 取消这个,因为我需要在 WPF 中做这个项目。
  • @ScottS 你的意思是你想在 wpf 而不是 UWP 中实现这个功能?

标签: c# xml xaml uwp win-universal-app


【解决方案1】:
  1. 您可以查看此网站:UWP XmlDocument

  2. 在 UWP 中,如果没有文件选择器,您将无法访问应用程序文件夹中接受的文件。在未来的更新中,您将获得更多可能性,但现在 - 没有

  3. 尝试制作方法:

    public async Task LoadXML(string file)
    {
       await Task.Run(() => { XDocument xml = XDocument.Load(file); });
    }
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-20
    • 2017-03-21
    • 1970-01-01
    • 2011-11-29
    • 2012-01-26
    • 2012-01-20
    • 1970-01-01
    相关资源
    最近更新 更多