// Linq To XML 사용
using System.Xml.Linq;
// IsolatedStorage 사용
using System.IO.IsolatedStorage;
using System.IO;
namespace IsolatedStorage_Test
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
// Button Event
// 파일쓰기 이벤트
btnsetfileinfo.Click += new RoutedEventHandler(btnsetfileinfo_Click) // 파일읽기 이벤트
btngetfileinfo.Click += new RoutedEventHandler(btngetfileinfo_Click); // 파일삭제 이벤트
btnfiledelete.Click += new RoutedEventHandler(btnfiledelete_Click);
}
/// <summary>
/// 파일 삭제
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btnfiledelete_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
// 파일있는지 확인
if (isf.FileExists("Test.xml"))
{
txbText.Text = "파일 있었으나 지금 삭제";
isf.DeleteFile("Test.xml");
}
else
txbText.Text = "파일없음";
}
}
/// <summary>
/// 파일 읽기
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btngetfileinfo_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
// 파일 있는지 확인
if (isf.FileExists("Test.xml"))
{
XDocument xdocu = XDocument.Load(isf.OpenFile("MyPolder.xml", FileMode.Open));
var query = from el in xdocu.Descendants("Root")
select new
{
t = el.Element("Test").Value
};
string str = string.Empty;
foreach (var qy in query)
{
str = qy.t;
}
txbText.Text = str;
}
else
{
txbText.Text = "파일없음";
}
}
}
/// <summary>
/// 파일 쓰기 (Linq To Xml 쓰기)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btnsetfileinfo_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream isfstream = new IsolatedStorageFileStream("Test.xml", FileMode.Create, isf))
{
using (StreamWriter sw = new StreamWriter(isfstream))
{
XElement element = new XElement("Root", new XElement("Test", "test..."));
sw.Write(element);
}
}
}
}
}
} |