Files
CorridorModel/LandXML/Program.cs
2019-05-06 22:07:15 +08:00

60 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Serialization;
using CorridorModel;
namespace LandXML
{
class Program
{
static void Main(string[] args)
{
if (args.Length != 1)
throw new ArgumentException("Expected single directory for LandXML loading");
string[] files = Directory.GetFiles(@args[0], "锦龙立交.xml", SearchOption.AllDirectories);
foreach (var file in files)
{
Loader load = new Loader();
Model result = load.Load(file);
//Model m = new Model();
//m = Model.Deserialize(file);
}
}
}
public class Loader
{
public Model Load(string fileName)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Model));
using (FileStream fileStream = File.Open(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
{
using (NamespaceIgnorantXmlTextReader objXmlReader = new NamespaceIgnorantXmlTextReader(fileStream))
{
return (Model)xmlSerializer.Deserialize(objXmlReader);
}
}
}
}
public class NamespaceIgnorantXmlTextReader : XmlTextReader
{
public NamespaceIgnorantXmlTextReader(Stream reader) : base(reader) { }
public override string NamespaceURI
{
get { return string.Empty; }
}
}
}