60 lines
1.6 KiB
C#
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; }
|
|
}
|
|
}
|
|
}
|