WPF 讀取Xml文件並顯示在ListView中

在編程中,經常會用到xml文件,今天寫個博客記錄一下如何讀取的。先看xml文檔,文檔命名爲RawData.xml,放在\bin\Debug下。

<?xml version="1.0" encoding="utf-8" ?>
<StudentList>
	<Student Id = "1">
		<Name>Tim</Name>
		<Age>28</Age>
	</Student>
	<Student Id = "2">
		<Name>Tom</Name>
		<Age>29</Age>
	</Student>
	<Student Id = "2">
		<Name>Vina</Name>
		<Age>30</Age>
	</Student>
	<Student Id = "3">
		<Name>Emily</Name>
		<Age>31</Age>
	</Student>
</StudentList>

xmal代碼:

<Window x:Class="ReadXml_1005.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ReadXml_1005"
        mc:Ignorable="d"
        Title="MainWindow" Height="300" Width="500">
    <StackPanel Grid.Row="0" Grid.Column="2">
        <ListView x:Name="listViewStudents2" Margin="5">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Id" Width="80" DisplayMemberBinding="{Binding XPath=@Id}"></GridViewColumn>
                    <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding XPath=Name}"></GridViewColumn>
                    <GridViewColumn Header="Age" Width="120" DisplayMemberBinding="{Binding XPath=Age}"></GridViewColumn>
                </GridView>
            </ListView.View>
        </ListView>
        <Button Content="Load" Click="Button_Click4" Height="25" Margin="5,0"></Button>
    </StackPanel>
</Window>

.cs文檔:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;

using System.Xml;

namespace ReadXml_1005
{
    /// <summary>
    /// MainWindow.xaml 的交互邏輯
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click4(object sender, RoutedEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@".\RawData.xml");

            XmlDataProvider xdp = new XmlDataProvider();
            xdp.Document = doc;

            xdp.XPath = @"/StudentList/Student";

            this.listViewStudents2.DataContext = xdp;
            this.listViewStudents2.SetBinding(ListView.ItemsSourceProperty, new Binding());
        }
    }
}

運行結果:

工程下載地址:https://download.csdn.net/download/chulijun3107/11832943

留下郵箱也可以,我給發郵件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章