お世話になります。初歩的な質問で恐縮ですが、お力をいただければ幸いです。
環境
- Visual Studio 2019 Professional
- WPF(C#+XAML)
- .Net Framework 4.6.1
実現したいこと
XMLファイルを読み込んでDataGridに表示したい。
問題
XMLファイルの内容が表示されず、空白が表示される。
ソースコード
MainWindowView.xaml.cs
C#
1 //略 2 public partial class MainWindow : Window 3 { 4 public MainWindow() 5 { 6 InitializeComponent(); 7 8 System.Data.DataSet dataset = new System.Data.DataSet(); 9 dataset.ReadXml(@"云々\Practice.xml"); 10 System.Data.DataView dataView = new System.Data.DataView(dataset.Tables[0]); 11 dataGrid.ItemsSource = dataView; 12 //dataView.Countに6が代入されることは確認済み 13 //ファイルの読み込みは成功していると思われる 14 } 15 }
MainWindowView.xaml
XML
1 2<Window x:Class="XMLPractice.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 6 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 7 xmlns:local="clr-namespace:XMLPractice" 8 mc:Ignorable="d" 9 Title="XMLPractice" Height="450" Width="800"> 10 <Grid Margin="10"> 11 <Grid.RowDefinitions> 12 <RowDefinition Height="1*"/> 13 <RowDefinition Height="*"/> 14 </Grid.RowDefinitions> 15 16 <DataGrid x:Name="dataGrid" 17 ItemsSource="{Binding XPath=/Products/Product}" 18 Grid.Row="1" 19 AutoGenerateColumns="False" > 20 <DataGrid.Columns> 21 <DataGridTextColumn Header="Name" Binding="{Binding XPath=@Name}" /> 22 <DataGridTextColumn Header="Category" Binding="{Binding XPath=@Category}" /> 23 </DataGrid.Columns> 24 </DataGrid> 25 </Grid> 26</Window>
読み込みたいXMLファイル(Practice.xml)
XML
1 2<?xml version="1.0" encoding="utf-8" ?> 3<Products xmlns=""> 4 <Product Name="人参" Id="1" Category="野菜" /> 5 <Product Name="玉ねぎ" Id="2" Category="野菜"/> 6 <Product Name="馬鈴薯" Id="3" Category="野菜"/> 7 <Product Name="ぶなしめじ" Id="4" Category="キノコ類" /> 8 <Product Name="塩" Id="5" Category="調味料"/> 9 <Product Name="胡椒" Id="6" Category="調味料"/> 10</Products>
回答1件
あなたの回答
tips
プレビュー