shirobert 发表于 2015-5-22 12:50:29

Windows 8学习笔记(二)——XML文件的操作

  今天用了一下Win8 Metro中XML文件的操作,发现在很有必须整理下来,虽然用法很简单,但每次用的时候都有些不顺手。
        读取XML文件
  Windows.Storage.StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync (Folder);
         Windows.Storage.StorageFile storageFile = awaitstorageFolder.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.AppendChild(ele1);
         }
  await doc.SaveToFileAsync(storageFile);
  结果如下:

  
           查询并修改相应的节点
  var node = nodelist.SelectNodes("ChannelType");
         node.SelectSingleNode("ChannelID").InnerText = "channel12";
  await doc.SaveToFileAsync(storageFile);
  结果如下:


  
  删除节点   var nodeMain = nodelist.SelectNodes("ChannelType");
         var noderemove = nodeMain.SelectSingleNode("ChannelID");
         nodeMain.RemoveChild(noderemove);
  await doc.SaveToFileAsync(storageFile);
  结果显示:


  以上就是XML的简单操作,排版很别扭,下了两个代码插件却安装不上,很是纠结,先将就一下了,我再找找看有没好的代码插件,人家的代码排版很美,而我的呼呼~~
页: [1]
查看完整版本: Windows 8学习笔记(二)——XML文件的操作