61 lines
2.1 KiB
C#
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);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|