コード例 #1
0
 public static void WriteStringsToStreamAsXml(StreamWriter sw, Hashtable Strings, AdvancedOptions adv_opt)
 {
 	XmlWriterSettings xwr = new XmlWriterSettings();
 	xwr.Indent = true;
 	xwr.OmitXmlDeclaration = false;
 	xwr.Encoding = sw.Encoding;
 	xwr.CloseOutput = true;
 	XmlWriter writer = XmlWriter.Create(sw.BaseStream,xwr);
 	//writer.WriteStartElement("options");
 	writer.WriteStartElement("general_options");
 	foreach (string key in Strings.Keys)
 	{
 		writer.WriteStartElement("option");
 		writer.WriteAttributeString("name",key);
 		writer.WriteString(Convert.ToString(Strings[key]));
 		writer.WriteEndElement();
 	}
 	writer.WriteEndElement();
 	/*writer.WriteStartElement("advanced_options");
 	writer.WriteStartElement("open_files");
 	foreach (SourceFileInfo fi in adv_opt.open_files)
 	{
 		writer.WriteStartElement("open_file");
 		writer.WriteAttributeString("name",fi.FileName);
 		writer.WriteAttributeString("line",Convert.ToString(fi.Line.ToString()));
 		writer.WriteAttributeString("column",Convert.ToString(fi.Column.ToString()));
 		writer.WriteEndElement();
 	}
 	writer.WriteEndElement();
 	
 	writer.WriteStartElement("watch_list");
 	foreach (string s in adv_opt.watch_list)
 	{
 		writer.WriteStartElement("watch_expr");
 		writer.WriteAttributeString("expr",s);
 		writer.WriteEndElement();
 	}
 	writer.WriteEndElement();
 	
 	writer.WriteStartElement("breakpoints_list");
 	foreach (BreakpointInfo br in adv_opt.breakpoints)
 	{
 		writer.WriteStartElement("breakpoint");
 		writer.WriteAttributeString("file_name",br.FileName);
 		writer.WriteAttributeString("line",br.Line.ToString());
 		writer.WriteAttributeString("is_conditional",br.IsConditional.ToString());
 		writer.WriteAttributeString("expression",br.Expression);
 		writer.WriteAttributeString("concrete_condition",br.ConcreteCondition.ToString());
 		writer.WriteEndElement();
 	}
 	writer.WriteEndElement();
 	
 	writer.WriteStartElement("bookmarks_list");
 	foreach (BookmarkInfo br in adv_opt.bookmarks)
 	{
 		writer.WriteStartElement("bookmark");
 		writer.WriteAttributeString("file_name",br.FileName);
 		writer.WriteAttributeString("line",br.Line.ToString());
 		writer.WriteEndElement();
 	}
 	writer.WriteEndElement();
 	writer.WriteEndElement();
 	writer.WriteEndElement();*/
 	writer.Close();
 }
コード例 #2
0
        public static void WriteStringsToStreamAsXml(StreamWriter sw, Hashtable Strings, AdvancedOptions adv_opt)
        {
            XmlWriterSettings xwr = new XmlWriterSettings();

            xwr.Indent             = true;
            xwr.OmitXmlDeclaration = false;
            xwr.Encoding           = sw.Encoding;
            xwr.CloseOutput        = true;
            XmlWriter writer = XmlWriter.Create(sw.BaseStream, xwr);

            //writer.WriteStartElement("options");
            writer.WriteStartElement("general_options");
            foreach (string key in Strings.Keys)
            {
                writer.WriteStartElement("option");
                writer.WriteAttributeString("name", key);
                writer.WriteString(Convert.ToString(Strings[key]));
                writer.WriteEndElement();
            }
            writer.WriteEndElement();

            /*writer.WriteStartElement("advanced_options");
             * writer.WriteStartElement("open_files");
             * foreach (SourceFileInfo fi in adv_opt.open_files)
             * {
             *      writer.WriteStartElement("open_file");
             *      writer.WriteAttributeString("name",fi.FileName);
             *      writer.WriteAttributeString("line",Convert.ToString(fi.Line.ToString()));
             *      writer.WriteAttributeString("column",Convert.ToString(fi.Column.ToString()));
             *      writer.WriteEndElement();
             * }
             * writer.WriteEndElement();
             *
             * writer.WriteStartElement("watch_list");
             * foreach (string s in adv_opt.watch_list)
             * {
             *      writer.WriteStartElement("watch_expr");
             *      writer.WriteAttributeString("expr",s);
             *      writer.WriteEndElement();
             * }
             * writer.WriteEndElement();
             *
             * writer.WriteStartElement("breakpoints_list");
             * foreach (BreakpointInfo br in adv_opt.breakpoints)
             * {
             *      writer.WriteStartElement("breakpoint");
             *      writer.WriteAttributeString("file_name",br.FileName);
             *      writer.WriteAttributeString("line",br.Line.ToString());
             *      writer.WriteAttributeString("is_conditional",br.IsConditional.ToString());
             *      writer.WriteAttributeString("expression",br.Expression);
             *      writer.WriteAttributeString("concrete_condition",br.ConcreteCondition.ToString());
             *      writer.WriteEndElement();
             * }
             * writer.WriteEndElement();
             *
             * writer.WriteStartElement("bookmarks_list");
             * foreach (BookmarkInfo br in adv_opt.bookmarks)
             * {
             *      writer.WriteStartElement("bookmark");
             *      writer.WriteAttributeString("file_name",br.FileName);
             *      writer.WriteAttributeString("line",br.Line.ToString());
             *      writer.WriteEndElement();
             * }
             * writer.WriteEndElement();
             * writer.WriteEndElement();
             * writer.WriteEndElement();*/
            writer.Close();
        }
コード例 #3
0
        public static void ReadStringsFromStreamAsXml(string FileName, StreamReader sr, Hashtable Strings, AdvancedOptions adv_opt)
        {
        	XmlReaderSettings xrs = new XmlReaderSettings();
        	//xrs.IgnoreWhitespace = true;
        	xrs.CloseInput = true;
        	XmlReader reader = XmlTextReader.Create(new StreamReader(FileName,System.Text.Encoding.UTF8),xrs);
        	try
        	{
        		reader.Read();
        	}
        	catch
        	{
        		System.Text.Encoding enc = sr.CurrentEncoding;
        		reader.Close();
        		sr.Close();
        		ReadStringsFromStream(new StreamReader(FileName,enc),Strings);
        		return;
        	}
        	//reader.ReadStartElement("options");
        	reader.ReadStartElement("general_options");
        	string prefix = "";
        	while (reader.ReadToNextSibling("option"))
        	{
        		string option_name = reader.GetAttribute("name");
        		string option_value = reader.ReadString();
        		if (option_name == "%PREFIX%")
        			prefix = option_value;
        		else
        		{
                   	Strings[prefix + option_name] = option_value;
        		}
        	}
        	reader.ReadEndElement();
        	/*reader.ReadEndElement();
        	if (!reader.EOF)
        	{
        		reader.ReadStartElement("advanced_options");
        		if (!reader.IsEmptyElement)
        		{
        			reader.ReadStartElement("open_files");
        			while (reader.ReadToNextSibling("open_file"))
        			{
        				adv_opt.open_files.Add(new SourceFileInfo(reader.GetAttribute("file_name"),
        			                                          Convert.ToInt32(reader.GetAttribute("line")),Convert.ToInt32(reader.GetAttribute("column"))));
					
        			}
        			reader.ReadEndElement();
        		}
        		else
        			reader.ReadStartElement("open_files");
        		reader.ReadStartElement("watch_list");
        		if (!reader.IsEmptyElement)
        		{
        			
        			while (reader.ReadToNextSibling("watch_expr"))
        			{
        				adv_opt.watch_list.Add(reader.GetAttribute("expr"));
        			}
        			reader.ReadEndElement();
        		}
        		reader.ReadStartElement("breakpoints_list");
        		if (!reader.IsEmptyElement)
        		{
        			
        			while (reader.ReadToNextSibling("breakpoint"))
        			{
        				adv_opt.breakpoints.Add(new BreakpointInfo(reader.GetAttribute("file_name"),
        			                                           Convert.ToInt32(reader.GetAttribute("line")),Convert.ToBoolean(reader.GetAttribute("is_conditional")),
        			                                           reader.GetAttribute("expression"),Convert.ToInt32(reader.GetAttribute("concrete_condition"))));
					
        			}
        			reader.ReadEndElement();
        		}
        		if (!reader.IsEmptyElement)
        		{
        			reader.ReadStartElement("bookmarks_list");
        			while (reader.ReadToNextSibling("bookmark"))
        			{
        				adv_opt.bookmarks.Add(new BookmarkInfo(reader.GetAttribute("file_name"),
        			                                          Convert.ToInt32(reader.GetAttribute("line"))));
					
        			}
        			reader.ReadEndElement();
        		}
        		reader.ReadEndElement();
        	}
        	reader.ReadEndElement();*/
        	reader.Close();
        	sr.Close();
        }
コード例 #4
0
        public static void ReadStringsFromStreamAsXml(string FileName, StreamReader sr, Hashtable Strings, AdvancedOptions adv_opt)
        {
            XmlReaderSettings xrs = new XmlReaderSettings();

            //xrs.IgnoreWhitespace = true;
            xrs.CloseInput = true;
            XmlReader reader = XmlTextReader.Create(new StreamReader(FileName, System.Text.Encoding.UTF8), xrs);

            try
            {
                reader.Read();
            }
            catch
            {
                System.Text.Encoding enc = sr.CurrentEncoding;
                reader.Close();
                sr.Close();
                ReadStringsFromStream(new StreamReader(FileName, enc), Strings);
                return;
            }
            //reader.ReadStartElement("options");
            reader.ReadStartElement("general_options");
            string prefix = "";

            while (reader.ReadToNextSibling("option"))
            {
                string option_name  = reader.GetAttribute("name");
                string option_value = reader.ReadString();
                if (option_name == "%PREFIX%")
                {
                    prefix = option_value;
                }
                else
                {
                    Strings[prefix + option_name] = option_value;
                }
            }
            reader.ReadEndElement();

            /*reader.ReadEndElement();
            *  if (!reader.EOF)
            *  {
            *       reader.ReadStartElement("advanced_options");
            *       if (!reader.IsEmptyElement)
            *       {
            *               reader.ReadStartElement("open_files");
            *               while (reader.ReadToNextSibling("open_file"))
            *               {
            *                       adv_opt.open_files.Add(new SourceFileInfo(reader.GetAttribute("file_name"),
            *                                                         Convert.ToInt32(reader.GetAttribute("line")),Convert.ToInt32(reader.GetAttribute("column"))));
            *
            *               }
            *               reader.ReadEndElement();
            *       }
            *       else
            *               reader.ReadStartElement("open_files");
            *       reader.ReadStartElement("watch_list");
            *       if (!reader.IsEmptyElement)
            *       {
            *
            *               while (reader.ReadToNextSibling("watch_expr"))
            *               {
            *                       adv_opt.watch_list.Add(reader.GetAttribute("expr"));
            *               }
            *               reader.ReadEndElement();
            *       }
            *       reader.ReadStartElement("breakpoints_list");
            *       if (!reader.IsEmptyElement)
            *       {
            *
            *               while (reader.ReadToNextSibling("breakpoint"))
            *               {
            *                       adv_opt.breakpoints.Add(new BreakpointInfo(reader.GetAttribute("file_name"),
            *                                                          Convert.ToInt32(reader.GetAttribute("line")),Convert.ToBoolean(reader.GetAttribute("is_conditional")),
            *                                                          reader.GetAttribute("expression"),Convert.ToInt32(reader.GetAttribute("concrete_condition"))));
            *
            *               }
            *               reader.ReadEndElement();
            *       }
            *       if (!reader.IsEmptyElement)
            *       {
            *               reader.ReadStartElement("bookmarks_list");
            *               while (reader.ReadToNextSibling("bookmark"))
            *               {
            *                       adv_opt.bookmarks.Add(new BookmarkInfo(reader.GetAttribute("file_name"),
            *                                                         Convert.ToInt32(reader.GetAttribute("line"))));
            *
            *               }
            *               reader.ReadEndElement();
            *       }
            *       reader.ReadEndElement();
            *  }
            *  reader.ReadEndElement();*/
            reader.Close();
            sr.Close();
        }