63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.IO;
 | |
| using System.Collections.Generic;
 | |
| using System.Text;
 | |
| using System.Xml;
 | |
| 
 | |
| namespace fmtxml
 | |
| {
 | |
|     class EntireFormat
 | |
|     {
 | |
| 		private string MyPath;
 | |
|         public EntireFormat(string mxml, string path)
 | |
|         {
 | |
| 			MyPath = path;
 | |
|             XmlDocument xmldoc = new XmlDocument();
 | |
|             XmlElement top = xmldoc.CreateElement("PlantFormat");
 | |
|             xmldoc.AppendChild(top);
 | |
|             try
 | |
|             {
 | |
|                 XmlReaderSettings settings = new XmlReaderSettings();
 | |
|                 settings.IgnoreWhitespace = true;
 | |
|                 StreamReader strrdr = new StreamReader(mxml);
 | |
|                 XmlTextReader rdr = new XmlTextReader(strrdr);
 | |
|                 using (rdr)
 | |
|                 {
 | |
|                     rdr.MoveToContent();
 | |
|                     XmlNode fmt = xmldoc.ReadNode(rdr);
 | |
|                     top.AppendChild(fmt);
 | |
|                 }
 | |
|                 rdr.Close();
 | |
|                 // load page xml
 | |
|                 string pagename = mxml.Substring(0, mxml.Length - 5) + "p.xml";
 | |
|                 using (XmlReader reader = XmlReader.Create(pagename, settings))
 | |
|                 {
 | |
|                     reader.MoveToContent();
 | |
|                     XmlNode pag = xmldoc.ReadNode(reader);
 | |
|                     top.AppendChild(pag);
 | |
|                 }
 | |
| 
 | |
|                 string docname = mxml.Substring(0, mxml.Length - 5) + "d.xml";
 | |
|                 using (XmlReader reader = XmlReader.Create(docname, settings))
 | |
|                 {
 | |
|                     reader.MoveToContent();
 | |
|                     XmlNode doc = xmldoc.ReadNode(reader);
 | |
|                     top.AppendChild(doc);
 | |
|                 }
 | |
|                 XmlWriterSettings settingsout = new XmlWriterSettings();
 | |
|                 settingsout.Encoding = Encoding.Unicode;
 | |
|                 string outname = MyPath + @"\fmtall\" + mxml.Substring(mxml.IndexOf("\\")+1,mxml.Length - 13) + "all.xml";
 | |
|                 XmlWriter xmlwrite = XmlWriter.Create(outname,settingsout);
 | |
|                 xmldoc.WriteContentTo(xmlwrite);
 | |
|                 xmlwrite.Close();
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 Console.WriteLine("Error on merge, format = {0}, msg = {1}", mxml, ex.Message);
 | |
|             }
 | |
|         }
 | |
| 
 | |
| 
 | |
|     }
 | |
| }
 |