728x90
반응형
【 WPF & C# (C Sharp) 】
# XML 파일 저장하기 ( 쓰기 ) / 읽어오기 ( 읽기 ) / LINQ
@ MainWindow.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <Window x:Class="WpfApp24.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:WpfApp24" mc:Ignorable="d" Title="MainWindow" Height="268.627" Width="204.412"> <Grid> <Button Content="쓰기" HorizontalAlignment="Left" Margin="10,13,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/> <Button Content="읽기" HorizontalAlignment="Left" Margin="103,13,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_1"/> <TextBox x:Name="textbox1" HorizontalAlignment="Left" Height="189" Margin="10,38,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="168"/> </Grid> </Window> | cs |
@ MainWindow.xaml.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Xml; using System.Xml.Linq; namespace WpfApp24 { /// <summary> /// MainWindow.xaml에 대한 상호 작용 논리 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { string url = @".\Emp.xml"; XDocument xdoc = new XDocument(new XDeclaration("1.0", "UTF-8", null)); XElement xroot = new XElement("Employees"); xdoc.Add(xroot); XElement xe1 = new XElement("Employee", new XAttribute("Id", "1001"), new XElement("Name", "Tim"), new XElement("Dept", "Sales") ); XElement xe2 = new XElement("Employee", new XAttribute("Id", "1002"), new XElement("Name", "John"), new XElement("Dept", "HR") ); xroot.Add(xe1); xroot.Add(xe2); xdoc.Save(url); /* 출력파일 Emp.xml <?xml version=="1.0" encoding="utf--166"?> <Employees> <Employee Id="1001"> <!---Employee#10011---> <<Name>Tim</Name> <Dept>Sales</Dept> </Employee> <Employee Id=="1002"> <Name>John</Name> <Dept>HR</Dept> </Employee> </Employees> */ } private void Button_Click_1(object sender, RoutedEventArgs e) { string url = @".\Emp.xml"; try { XmlDocument xml = new XmlDocument(); xml.Load(url); XmlNodeList xnList = xml.SelectNodes("Employees/Employee"); //접근할 노드 foreach (XmlNode xn in xnList) { string part1 = xn["Name"].InnerText; string part2 = xn["Dept"].InnerText; textbox1.AppendText(part1 + " | " + part2+ "\n"); } } catch (ArgumentException ex) { MessageBox.Show("XML 문제 발생\r\n" + ex); } } } } | cs |
@ Memo
using 부분에 using System.Xml; 하고 using System.Xml.Linq; 를 넣어줘야 정상 작동 된다.
내가 만든것이 아니고 다른사람이 만든 소스다.
넘넘 간결하고 편리하다. 아래 사이트를 보며 공부했다.
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# (C Sharp) - 마우스 드래그로 윈도우 창 이동하기 ( window / drag move 드래그 무브 ) (0) | 2017.10.23 |
---|---|
컨트롤 접두사 명명 규칙 (0) | 2017.10.23 |
Splashimage 스플래시 이미지 사용하기 (0) | 2017.10.23 |
WPF & C# (C Sharp) - Environment 로 부터 추출되는 data 각종 정보 (0) | 2017.10.19 |
WPF & C# - 새창열기 ( 새 창 띄우기 / 창팝업 ) (0) | 2017.10.17 |
DoubleAnimation을 이용한 ToastMessage 토스트메세지 toast Message (3) | 2017.10.17 |
WPF & C# - 문자열 함수등 모음 ( String / Regex / 정규표현식 / 정규식 / 문자 치환 / 배열 / 갯수 / 개수 / 잘라내기 / 추출하기 / 자릿수 / 자리수 / 중간 / 숫자만 / 공백제거 / 특수문자제거 / 포함여부.. (1) | 2017.09.26 |
[WPF & C# (C Sharp)] - 스토리보드 / 더블애니메이션( Storyboard / DoubleAnimation / Story ) (0) | 2017.09.14 |