Windows 8学习笔记(二)——XML文件的操作
今天用了一下Win8 Metro中XML文件的操作,发现在很有必须整理下来,虽然用法很简单,但每次用的时候都有些不顺手。
读取XML文件
Windows.Storage.StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync (Folder);
Windows.Storage.StorageFile storageFile = await storageFolder.GetFileAsync(file);
Windows.Data.Xml.Dom.XmlLoadSettings xmlloadsettings = new XmlLoadSettings();
xmlloadsettings.ProhibitDtd = false;
xmlloadsettings.ResolveExternals = false;
xmlloadsettings.ElementContentWhiteSpace = true;
XmlDocument doc = await Windows.Data.Xml.Dom.XmlDocument.LoadFromFileAsync(storageFile, xmlloadsettings);
string xmlData = doc.GetXml();
显示如下:
增加节点
//增加节点
var nodelist = doc.SelectNodes("/rss/channel");
for (int i = 0; i < 3; i++)
{
XmlElement ele1 = doc.CreateElement("ChannelType");
XmlElement e1 = doc.CreateElement("ChannelID");
e1.InnerText = "NO" + i.ToString();
ele1.AppendChild(e1);
XmlElement e2 = doc.CreateElement("ChannelName");
e2.InnerText = "Channel" + i.ToString();
ele1.AppendChild(e2);
nodelist[0].AppendChild(ele1);
}
await doc.SaveToFileAsync(storageFile);
结果如下:
查询并修改相应的节点
var node = nodelist[0].SelectNodes("ChannelType");
node[0].SelectSingleNode("ChannelID").InnerText = "channel12";
await doc.SaveToFileAsync(storageFile);
结果如下:
删除节点
var nodeMain = nodelist[0].SelectNodes("ChannelType")[0];
var noderemove = nodeMain.SelectSingleNode("ChannelID");
nodeMain.RemoveChild(noderemove);
await doc.SaveToFileAsync(storageFile);
结果显示:
以上就是XML的简单操作,排版很别扭,下了两个代码插件却安装不上,很是纠结,先将就一下了,我再找找看有没好的代码插件,人家的代码排版很美,而我的呼呼~~
Trackback:http://www.cnblogs.com/jing870812/archive/2012/03/30/2426119.html