示例#1
0
        public static async void CreateAlbumXml()
        {
            //String _dropboxURL = MAIN + "&token=" + Uri.EscapeDataString(Token);

            //HttpResponseMessage _response = null;
            //HttpClient httpClient = new HttpClient();
            StorageFile _template = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///appdata/templateCreateAlbum.xml"));

            XmlLoadSettings _settings    = new XmlLoadSettings();
            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;
            XmlDocument doc = await XmlDocument.LoadFromFileAsync(_template);

            var _section = doc.CreateAttribute("test2");

            // set location
            IXmlNode _group = doc.GetElementsByTagName("gphoto:location").Item(0);

            _group.ChildNodes.First <IXmlNode>().NodeValue = "NZ";

            StorageFile file_out = await ApplicationData.Current.LocalFolder.CreateFileAsync("test.xml", CreationCollisionOption.ReplaceExisting);

            await doc.SaveToFileAsync(file_out);
        }
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            rootPage = MainPage.Current;
            file     = "status.xml";
            StorageFile storageFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(file);

            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;
            doc = await XmlDocument.LoadFromFileAsync(storageFile, loadSettings);

            try
            {
                var results     = doc.SelectNodes("descendant::result");
                int num_results = 1;
                foreach (var result in results)
                {
                    String id     = results[num_results - 1].SelectSingleNode("descendant::id").FirstChild.NodeValue.ToString();
                    String status = results[num_results - 1].SelectSingleNode("descendant::status").FirstChild.NodeValue.ToString();
                    listBox.Items.Add("ID: " + id + " " + status);
                    num_results += 1;
                }
                if (num_results == 1)
                {
                    listBox.Items.Add("You don't have pending jobs.");
                }
            }

            catch (Exception)
            {
                listBox.Items.Add("You don't have pending jobs.");
            }
        }
示例#3
0
        /// <summary>
        /// 选取Xml文件
        /// </summary>
        public static async Task <XmlDocument> LoadXmlFile(string folder, string file)
        {
            StorageFolder storageFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(folder);

            StorageFile storageFile = await storageFolder.GetFileAsync(file);

            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;
            return(await XmlDocument.LoadFromFileAsync(storageFile, loadSettings));
        }
示例#4
0
        public async Task <XmlDocument> LoadDatabase()
        {
            var loadSettings = new XmlLoadSettings
            {
                ProhibitDtd      = false,
                ResolveExternals = true
            };

            var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Database");

            var file = await folder.GetFileAsync("database.xml");

            return(await Windows.Data.Xml.Dom.XmlDocument.LoadFromFileAsync(file, loadSettings));
        }
示例#5
0
        public IAsyncOperation <IList <ItemKey> > NewRawAsync(string xml)
        {
            // For new items there should not be any item keys,
            // created, or updated dates because these will be new items
            var loadSettings = new XmlLoadSettings {
                ProhibitDtd = true
            };
            var xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(xml, loadSettings);

            // Do not convert these to a foreach loop since the collection
            // is modified by the remove
            XmlNodeList nodes = xmlDoc.GetElementsByTagName("thing-id");

            for (int i = (int)nodes.Length - 1; i >= 0; i--)
            {
                IXmlNode node = nodes[i];
                node.ParentNode.RemoveChild(node);
            }

            nodes = xmlDoc.GetElementsByTagName("updated");
            for (int i = (int)nodes.Length - 1; i >= 0; i--)
            {
                IXmlNode node = nodes[i];
                node.ParentNode.RemoveChild(node);
            }

            nodes = xmlDoc.GetElementsByTagName("created");
            for (int i = (int)nodes.Length - 1; i >= 0; i--)
            {
                IXmlNode node = nodes[i];
                node.ParentNode.RemoveChild(node);
            }

            // Our put things xml does not support <things> or <ArrayOfThings>
            // We just want to serialize <thing> repeatedly
            nodes = xmlDoc.GetElementsByTagName("thing");
            var parsedXml = new StringBuilder();

            for (int i = 0; i < nodes.Length; i++)
            {
                parsedXml.Append(nodes[i].GetXml());
            }

            return(PutRawAsync(parsedXml.ToString()));
        }
示例#6
0
        // Stub function for testing
        public static async Task <XDocument> LoadTestRssXml()
        {
            StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync("Test");

            StorageFile storageFile = await storageFolder.GetFileAsync("TestRss.xml");

            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;

            XmlDocument xmlDoc = await XmlDocument.LoadFromFileAsync(storageFile, loadSettings);

            XDocument doc     = XDocument.Parse(xmlDoc.GetXml());
            var       rtnTask = Task.Factory.StartNew(() => doc);

            return(await rtnTask);
        }
示例#7
0
        private async Task ReadFB2FileStreamAsync(Stream stream)
        {
            // setup
            var readerSettings = new XmlReaderSettings
            {
                DtdProcessing = DtdProcessing.Ignore
            };
            var loadSettings = new XmlLoadSettings(readerSettings);

            try
            {
                // reading
                FB2File file = await new FB2Reader().ReadAsync(stream, loadSettings);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(string.Format("Error loading file : {0}", ex.Message));
            }
        }
示例#8
0
        /// <summary>
        /// Opens file storage.
        /// </summary>
        private async void OpenFileStorage()
        {
            await _threadSemaphore.WaitAsync();

            try
            {
                try
                {
                    _storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync(_fileName);

                    var xmlSettings = new XmlLoadSettings();
                    xmlSettings.ElementContentWhiteSpace = true;
                    _xmlDoc = await XmlDocument.LoadFromFileAsync(_storageFile, xmlSettings);
                }
                catch (FileNotFoundException)
                {
                    _storageFile = null;
                }
                catch                 // If file exists in incorrect format then LoadFromFileAsync throws System.Exception
                {
                    _xmlDoc = null;
                }

                if (_storageFile == null)
                {
                    _storageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(_fileName, CreationCollisionOption.OpenIfExists);
                }

                if (_xmlDoc == null)
                {
                    _xmlDoc = new XmlDocument();
                    _xmlDoc.AppendChild(_xmlDoc.CreateElement("root"));
                }
                await _xmlDoc.SaveToFileAsync(_storageFile);
            }
            finally
            {
                _threadSemaphore.Release();
            }
        }
示例#9
0
        //Prepare book to open
        public async Task <FB2File> ReadFb2FileStreamAsync(Stream stream)
        {
            // setup
            var readerSettings = new XmlReaderSettings
            {
                DtdProcessing = DtdProcessing.Ignore
            };
            var loadSettings = new XmlLoadSettings(readerSettings);

            var file = new FB2File();

            try
            {
                // reading
                file = await new FB2Reader().ReadAsync(stream, loadSettings);
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error loading file : {ex.Message}");
            }

            return(file);
        }
示例#10
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            rootPage = MainPage.Current;
            listBox.Items.Add("Index");
            StorageFile storageFile;

            file = "history.xml";


            storageFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(file);

            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;
            doc = await XmlDocument.LoadFromFileAsync(storageFile, loadSettings);

            var results     = doc.SelectNodes("descendant::result");
            int num_results = 1;

            foreach (var result in results)
            {
                listBox.Items.Add(num_results.ToString());
                num_results += 1;
            }

            if (num_results > 1)     //show the first history result
            {
                listBox.SelectedIndex = 1;
                select_item(0);
            }



            //rootPage.NotifyUser(doc.InnerText.ToString(), NotifyType.StatusMessage);
        }
示例#11
0
        async private void capture_Click(object sender, RoutedEventArgs e)
        {
            XmlDocument             doc; //doc is history doc
            string                  history_file_xml;
            ImageEncodingProperties imgFormat = ImageEncodingProperties.CreateJpeg();
            StorageFile             file      = await KnownFolders.PicturesLibrary.CreateFileAsync("Photo.jpg", CreationCollisionOption.ReplaceExisting);

            await captureManager.CapturePhotoToStorageFileAsync(imgFormat, file);

            bt_capture.IsEnabled = false;

            rootPage.NotifyUser("Done saving images, connecting...", NotifyType.StatusMessage);
            StreamSocket socket = new StreamSocket();

            HostName hostName = new HostName("rs1008linux01.cloudapp.net");

            try {
                await socket.ConnectAsync(hostName, "12346");
            }
            catch (Exception)
            {
                rootPage.NotifyUser("Error: Host server not available.", NotifyType.ErrorMessage);
                return;
            }
            rootPage.NotifyUser("Connected", NotifyType.StatusMessage);
            DataWriter writer = new DataWriter(socket.OutputStream);

            rootPage.NotifyUser("Uploading...", NotifyType.StatusMessage);
            byte[] data = new byte[1024];
            Stream x    = await file.OpenStreamForReadAsync();

            long   file_length = x.Length;
            long   tail        = file_length % 1024;
            double offset      = 0;
            string progress;

            try
            {
                while (file_length > offset)
                {
                    await x.ReadAsync(data, 0, 1024);

                    offset = offset + 1024;
                    if (file_length < offset)
                    {
                        byte[] temp = new byte[tail];
                        Array.Copy(data, temp, (int)tail);
                        writer.WriteBytes(temp);
                    }
                    else
                    {
                        writer.WriteBytes(data);
                    }

                    progress = "Progress: " + (Math.Round(offset / x.Length * 100, 0)).ToString() + "%";

                    rootPage.NotifyUser(progress, NotifyType.StatusMessage);
                    await writer.StoreAsync();

                    await writer.FlushAsync();
                }
            }

            catch (Exception ex)
            {
                rootPage.NotifyUser(ex.Message, NotifyType.StatusMessage);
                return;
            }

            writer.DetachStream();
            x.Dispose();

            rootPage.NotifyUser("Uploading finished.", NotifyType.StatusMessage);

            byte[] buffer = new byte[128];

            Stream results      = socket.InputStream.AsStreamForRead();
            var    memoryStream = new MemoryStream();

            results.CopyTo(memoryStream);
            buffer = memoryStream.ToArray();
            //await socket.InputStream.ReadAsync(buffer.AsBuffer(), 128,InputStreamOptions.ReadAhead);

            socket.Dispose();


            bt_capture.IsEnabled = true;
            concentration        = Encoding.UTF8.GetString(buffer) + " nm"; //get concentration result
            geolocation.Text     = concentration;
            rootPage.NotifyUser("Data generated.", NotifyType.StatusMessage);


            history_file_xml = "history.xml";

            StorageFile storageFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(history_file_xml);


            XmlLoadSettings loadSettings = new XmlLoadSettings();

            loadSettings.ProhibitDtd      = false;
            loadSettings.ResolveExternals = false;
            doc = await XmlDocument.LoadFromFileAsync(storageFile, loadSettings);

            var      rootnode = doc.SelectSingleNode("results");
            IXmlNode child    = doc.CreateElement("result");

            rootnode.AppendChild(child);

            IXmlNode xml_id = doc.CreateElement("id");

            xml_id.InnerText = "5";
            child.AppendChild(xml_id);

            IXmlNode xml_date = doc.CreateElement("date");

            xml_date.InnerText = "2016-2-19 4:12:12";
            child.AppendChild(xml_date);

            IXmlNode xml_location = doc.CreateElement("location");

            xml_location.InnerText = cityname;
            child.AppendChild(xml_location);

            IXmlNode xml_concentration = doc.CreateElement("concentration");

            xml_concentration.InnerText = geolocation.Text;
            child.AppendChild(xml_concentration);

            IXmlNode xml_model = doc.CreateElement("model");

            xml_model.InnerText = "Fluoride Ion";
            child.AppendChild(xml_model);

            //rootPage.NotifyUser(doc.GetXml(), NotifyType.StatusMessage);

            await doc.SaveToFileAsync(storageFile);
        }
示例#12
0
        private async Task <bool> GetPackagedFile(string folderName, string fileName, UIElement rootFrame)
        {
            StorageFolder installFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            StorageFile   file          = null;

            if (folderName != null)
            {
                StorageFolder subFolder = await installFolder.GetFolderAsync(folderName);

                file = await subFolder.GetFileAsync(fileName);
            }
            else
            {
                file = await installFolder.GetFileAsync(fileName);
            }

            //string text = await Windows.Storage.FileIO.ReadTextAsync(file);
            //datafile df = new datafile();
            //df = Newtonsoft.Json.JsonConvert.DeserializeObject<datafile>(text);



            XmlLoadSettings settings = new XmlLoadSettings()
            {
                ValidateOnParse = false
            };
            XmlDocument xmlDoc = await XmlDocument.LoadFromFileAsync(file, settings);

            foreach (IXmlNode xmlNode in xmlDoc.GetElementsByTagName("card"))
            {
                CardMini c = new CardMini();
                foreach (XmlAttribute xa in xmlNode.Attributes)
                {
                    if (xa.Value == null)
                    {
                        continue;                   //skip bad/blank entries
                    }
                    if (xa.Value == "")
                    {
                        continue;
                    }
                    switch (xa.Name.ToLower())
                    {
                    case "id":
                        c.Hero.EntryId = xa.Value;
                        break;

                    case "life":
                        c.Hero.Life = Convert.ToInt32(xa.Value);
                        break;

                    case "world":
                        c.Hero.World = xa.Value;
                        break;

                    case "set":
                        c.Hero.Set = xa.Value;
                        break;

                    case "collectornumber":
                        c.Hero.CollectorNumber = xa.Value;
                        break;

                    case "name":
                        c.Hero.Name = xa.Value;
                        break;

                    case "valkyrie":
                        c.Hero.Valkyrie = xa.Value;
                        break;

                    case "species":
                        c.Hero.Species = xa.Value;
                        break;

                    case "herotype":
                        c.Hero.HeroType = xa.Value;
                        break;

                    case "class":
                        c.Hero.ClassType = xa.Value;
                        break;

                    case "personality":
                        c.Hero.Personality = xa.Value;
                        break;

                    case "size":
                        c.Hero.Size = xa.Value;
                        break;

                    case "move":
                        c.Hero.Move = Convert.ToInt32(xa.Value);
                        break;

                    case "range":
                        c.Hero.Range = Convert.ToInt32(xa.Value);
                        break;

                    case "attack":
                        c.Hero.Attack = Convert.ToInt32(xa.Value);
                        break;

                    case "defense":
                        c.Hero.Defense = Convert.ToInt32(xa.Value);
                        break;

                    case "points":
                        c.Hero.Points = Convert.ToInt32(xa.Value);
                        break;

                    case "bmove":
                        c.Hero.BasicMove = Convert.ToInt32(xa.Value);
                        break;

                    case "brange":
                        c.Hero.BasicRange = Convert.ToInt32(xa.Value);
                        break;

                    case "battack":
                        c.Hero.BasicAttack = Convert.ToInt32(xa.Value);
                        break;

                    case "bdefense":
                        c.Hero.BasicDefense = Convert.ToInt32(xa.Value);
                        break;

                    case "armysize":
                        c.Hero.ArmySize = Convert.ToInt32(xa.Value);
                        break;
                    }
                }
                c.Hero.Image = string.Format("/Assets/Cards/{0}.png", c.Hero.EntryId);
                c.Hero.Thumb = string.Format("/Assets/Cards/_t/{0}.png", c.Hero.EntryId);
                //c.CardSource = ImageFromRelativePath(rootFrame, c.Hero.Thumb);
                c.CardName   = c.Hero.Name;
                c.CardPoints = string.Format("{0} PTS", c.Hero.Points);
                c.UpdateData();

                CardDataset.Add(c);
            }

            foreach (IXmlNode xmlNode in xmlDoc.GetElementsByTagName("glyph"))
            {
                GlyphControl g = new GlyphControl();
                foreach (XmlAttribute xa in xmlNode.Attributes)
                {
                    switch (xa.Name.ToLower())
                    {
                    case "id":
                        g.EntryId = xa.Value;
                        break;

                    case "description":
                        g.Description = xa.Value;
                        break;
                    }
                }
                g.ImageFileName = string.Format("/Assets/Glyphs/{0}.png", g.EntryId);
                //                g.GlyphSource = ImageFromRelativePath(rootFrame, g.ImageFileName);
                glyphdataset.Add(g);
            }
            GameSetting.DataLoaded = true;
            return(true);
        }