96 lines
2.5 KiB
C#
96 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
using System.IO;
|
|
|
|
namespace PrettyPrint
|
|
{
|
|
public partial class frmPrettyPrint : Form
|
|
{
|
|
public string MyStatus
|
|
{
|
|
get { return tsslStatus.Text; }
|
|
set { tsslStatus.Text = value; Application.DoEvents(); }
|
|
}
|
|
public frmPrettyPrint()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
private void btnPretty_Click(object sender, EventArgs e)
|
|
{
|
|
FileInfo fi = new FileInfo(tbOutputFileName.Text);
|
|
using(FileStream fs = fi.Create())
|
|
{
|
|
using (StreamWriter sw = new StreamWriter(fs))
|
|
{
|
|
XmlDocument doc = new XmlDocument();
|
|
//get your document
|
|
doc.Load(tbInputFileName.Text);
|
|
//create reader and writer
|
|
XmlNodeReader xmlReader = new XmlNodeReader(doc);
|
|
XmlTextWriter xmlWriter = new XmlTextWriter(sw);
|
|
//set formatting options
|
|
xmlWriter.Formatting = Formatting.Indented;
|
|
xmlWriter.Indentation = 1;
|
|
xmlWriter.IndentChar = '\t';
|
|
//write the document formatted
|
|
xmlWriter.WriteNode(xmlReader, true);
|
|
xmlWriter.Close();
|
|
xmlReader.Close();
|
|
sw.Close();
|
|
}
|
|
fs.Close();
|
|
}
|
|
}
|
|
private void btnFolderBrowse_Click(object sender, EventArgs e)
|
|
{
|
|
fbd.SelectedPath = tbFolder.Text;
|
|
if (fbd.ShowDialog() == DialogResult.OK)
|
|
tbFolder.Text = fbd.SelectedPath;
|
|
}
|
|
private void btnFolderPretty_Click(object sender, EventArgs e)
|
|
{
|
|
DirectoryInfo di = new DirectoryInfo(tbFolder.Text);
|
|
FileInfo [] files = di.GetFiles("*.xml");
|
|
tspbStatus.Maximum = files.Length;
|
|
tspbStatus.Visible = true;
|
|
tspbStatus.Value = 0;
|
|
foreach(FileInfo fi in files)
|
|
{
|
|
tspbStatus.Value ++;
|
|
MyStatus = string.Format("Processing {0}", fi.Name);
|
|
FixXML(fi);
|
|
}
|
|
tspbStatus.Visible = false;
|
|
MyStatus = "Ready";
|
|
}
|
|
private void FixXML(FileInfo fi)
|
|
{
|
|
DateTime lastModified = fi.LastWriteTime;
|
|
XmlDocument doc = new XmlDocument();
|
|
//get your document
|
|
doc.Load(fi.FullName);
|
|
using (FileStream fs = fi.Create())
|
|
{
|
|
//create reader and writer
|
|
XmlNodeReader xmlReader = new XmlNodeReader(doc);
|
|
XmlTextWriter xmlWriter = new XmlTextWriter(fs, Encoding.Unicode);
|
|
//set formatting options
|
|
xmlWriter.Formatting = Formatting.Indented;
|
|
xmlWriter.Indentation = 1;
|
|
xmlWriter.IndentChar = '\t';
|
|
//write the document formatted
|
|
xmlWriter.WriteNode(xmlReader, true);
|
|
xmlWriter.Close();
|
|
xmlReader.Close();
|
|
fs.Close();
|
|
}
|
|
fi.LastWriteTime = lastModified;
|
|
}
|
|
}
|
|
} |