今天用了一下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的簡單操作,排版很別扭,下了兩個代碼插件卻安裝不上,很是糾結,先將就一下了,我再找找看有沒好的代碼插件,人家的代碼排版很美,而我的呼呼~~