SourceCode/PROMS/fmtxml/EntireFormat.cs
2008-08-26 13:55:41 +00:00

61 lines
2.1 KiB
C#

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace fmtxml
{
class EntireFormat
{
public EntireFormat(string mxml)
{
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 = "e:\\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);
}
}
}
}