|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Collections;
|
|
|
using System.Text;
|
|
|
using System.Xml;
|
|
|
|
|
|
|
|
|
using Autodesk.AutoCAD.DatabaseServices;
|
|
|
using Autodesk.AutoCAD.Runtime;
|
|
|
using Autodesk.AutoCAD.Geometry;
|
|
|
using Autodesk.AutoCAD.ApplicationServices;
|
|
|
using Autodesk.AutoCAD.EditorInput;
|
|
|
|
|
|
|
|
|
|
|
|
namespace HelloTeamcenter.hello
|
|
|
{
|
|
|
class OriginReadXml
|
|
|
{
|
|
|
private Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
|
|
|
|
|
|
|
|
|
|
|
|
public OriginBTL OriginReadBTL(string filepath,string btlname)
|
|
|
{
|
|
|
OriginBTL btlinfo = new OriginBTL();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点title
|
|
|
XmlNodeList xmltitlelist = xmldocument.SelectSingleNode("Titles").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode title in xmltitlelist)
|
|
|
{
|
|
|
//获得一个title
|
|
|
XmlElement xeonetitle = (XmlElement)title;
|
|
|
|
|
|
if (xeonetitle.HasAttribute("blockname"))
|
|
|
{
|
|
|
ed.WriteMessage("标题栏块名称:" + xeonetitle.GetAttribute("blockname").ToString() + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("请确认标题栏.xml文件配置含有blockname属性\n");
|
|
|
return null;
|
|
|
}
|
|
|
string tempbtlname = xeonetitle.GetAttribute("blockname").ToString();
|
|
|
ed.WriteMessage("标题栏块名称:" + tempbtlname + "\n");
|
|
|
|
|
|
if (tempbtlname == btlname)
|
|
|
{
|
|
|
//获得title子节点
|
|
|
XmlNodeList onetitleinfo = xeonetitle.ChildNodes;
|
|
|
|
|
|
btlinfo.Btlname = btlname;
|
|
|
foreach (XmlNode node in onetitleinfo)
|
|
|
{
|
|
|
XmlElement xeone = (XmlElement)node;
|
|
|
string titletype = "";
|
|
|
string titlecad = "";
|
|
|
string titletc = "";
|
|
|
string titlewriteable = "";
|
|
|
string titleupdateable = "";
|
|
|
string titlefromtc = "";
|
|
|
if (xeone.HasAttribute("type"))
|
|
|
{
|
|
|
titletype = xeone.GetAttribute("type").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("cad"))
|
|
|
{
|
|
|
titlecad = xeone.GetAttribute("cad").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("tc"))
|
|
|
{
|
|
|
titletc = xeone.GetAttribute("tc").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("writeable"))
|
|
|
{
|
|
|
titlewriteable = xeone.GetAttribute("writeable").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("updateable"))
|
|
|
{
|
|
|
titleupdateable = xeone.GetAttribute("updateable").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("fromtc"))
|
|
|
{
|
|
|
titlefromtc = xeone.GetAttribute("fromtc").ToString();
|
|
|
}
|
|
|
/*ed.WriteMessage(xeone.GetAttribute("type").ToString() + " " +
|
|
|
xeone.GetAttribute("cad").ToString() + " " +
|
|
|
xeone.GetAttribute("tc").ToString() +"\n");*/
|
|
|
|
|
|
btlinfo.Btldatatable = origintool.TableHasKey(btlinfo.Btldatatable, titlecad, "");
|
|
|
btlinfo.Btltctable = origintool.TableHasKey(btlinfo.Btltctable, titlecad, titletc);
|
|
|
btlinfo.Btltypetable = origintool.TableHasKey(btlinfo.Btltypetable, titlecad, titletype);
|
|
|
btlinfo.Btlwritetable = origintool.TableHasKey(btlinfo.Btlwritetable, titlecad, titlewriteable);
|
|
|
btlinfo.Btlupdatetable = origintool.TableHasKey(btlinfo.Btlupdatetable, titlecad, titleupdateable);
|
|
|
btlinfo.Btlfromtctable = origintool.TableHasKey(btlinfo.Btlfromtctable,titlecad,titlefromtc);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
return btlinfo;
|
|
|
}
|
|
|
|
|
|
|
|
|
//获取标题栏.XML信息,将信息与OriginBTL对应
|
|
|
public ArrayList OriginReadBTLXML(string filepath)
|
|
|
{
|
|
|
ArrayList listbtl = new ArrayList();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
filepath = filepath + "标题栏.xml";
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点title
|
|
|
XmlNodeList xmltitlelist = xmldocument.SelectSingleNode("Titles").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode title in xmltitlelist)
|
|
|
{
|
|
|
//获得一个title
|
|
|
XmlElement xeonetitle = (XmlElement)title;
|
|
|
|
|
|
if (xeonetitle.HasAttribute("blockname"))
|
|
|
{
|
|
|
ed.WriteMessage("标题栏块名称:" + xeonetitle.GetAttribute("blockname").ToString() + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("请确认标题栏.xml文件配置含有blockname属性\n");
|
|
|
return listbtl;
|
|
|
}
|
|
|
string btlname = xeonetitle.GetAttribute("blockname").ToString();
|
|
|
ed.WriteMessage("标题栏块名称:" + btlname + "\n");
|
|
|
|
|
|
OriginBTL btlinfo = origintool.GetTitleInfo(filepath, btlname);
|
|
|
if (btlinfo != null)
|
|
|
listbtl.Add(btlinfo);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message+"\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
|
|
|
return listbtl;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
public OriginMXL OriginReadMXL(string filepath)
|
|
|
{
|
|
|
OriginMXL mxlinfo = new OriginMXL();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点bomline
|
|
|
XmlNodeList xmlmxllist = xmldocument.SelectSingleNode("BomLines").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode bomline in xmlmxllist)
|
|
|
{
|
|
|
//获得一个bomline
|
|
|
XmlElement xeonebomline = (XmlElement)bomline;
|
|
|
if (xeonebomline.HasAttribute("blockname"))
|
|
|
{
|
|
|
ed.WriteMessage("明细栏块名称:" + xeonebomline.GetAttribute("blockname").ToString() + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("请确认明细表.xml文件配置含有blockname属性\n");
|
|
|
return null;
|
|
|
}
|
|
|
//获得bomline子节点
|
|
|
XmlNodeList onebomlineinfo = xeonebomline.ChildNodes;
|
|
|
|
|
|
mxlinfo.Mxlname = xeonebomline.GetAttribute("blockname").ToString();
|
|
|
foreach (XmlNode node in onebomlineinfo)
|
|
|
{
|
|
|
XmlElement xeone = (XmlElement)node;
|
|
|
|
|
|
/*ed.WriteMessage(xeone.GetAttribute("cad").ToString() + " " +
|
|
|
xeone.GetAttribute("tc").ToString() + " " +
|
|
|
xeone.GetAttribute("is_bomline").ToString() + " " +
|
|
|
xeone.GetAttribute("overwrite").ToString() + "\n");*/
|
|
|
string bomlinetype = "";
|
|
|
string bomlinecad = "";
|
|
|
string bomlinetc = "";
|
|
|
string isbomline = "";
|
|
|
string updatebomline = "";
|
|
|
|
|
|
if (xeone.HasAttribute("type"))
|
|
|
{
|
|
|
bomlinetype = xeone.GetAttribute("type").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("cad"))
|
|
|
{
|
|
|
bomlinecad = xeone.GetAttribute("cad").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("tc"))
|
|
|
{
|
|
|
bomlinetc = xeone.GetAttribute("tc").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("is_bomline"))
|
|
|
{
|
|
|
isbomline = xeone.GetAttribute("is_bomline").ToString();
|
|
|
}
|
|
|
if (xeone.HasAttribute("overwrite"))
|
|
|
{
|
|
|
updatebomline = xeone.GetAttribute("overwrite").ToString();
|
|
|
}
|
|
|
mxlinfo.Mxltypetable = origintool.TableHasKey(mxlinfo.Mxltypetable, bomlinecad, bomlinetype);
|
|
|
mxlinfo.Mxldatatable = origintool.TableHasKey(mxlinfo.Mxldatatable, bomlinecad, "");
|
|
|
mxlinfo.Mxltctable = origintool.TableHasKey(mxlinfo.Mxltctable, bomlinecad, bomlinetc);
|
|
|
mxlinfo.Mxlisbomtable = origintool.TableHasKey(mxlinfo.Mxlisbomtable, bomlinecad, isbomline);
|
|
|
mxlinfo.Mxlupdatetable = origintool.TableHasKey(mxlinfo.Mxlupdatetable, bomlinecad, updatebomline);
|
|
|
|
|
|
ed.WriteMessage("==================================\n");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
return mxlinfo;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//获取明细表.XML信息,将信息与OriginMXL对应
|
|
|
public List<OriginMXL> OriginReadMXLXML(string filepath)
|
|
|
{
|
|
|
List<OriginMXL> listmxl = new List<OriginMXL>();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
filepath = filepath + "明细表.xml";
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点bomline
|
|
|
XmlNodeList xmlmxllist = xmldocument.SelectSingleNode("BomLines").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
string mxlname = "";
|
|
|
|
|
|
foreach (XmlNode bomline in xmlmxllist)
|
|
|
{
|
|
|
//获得一个bomline
|
|
|
XmlElement xeonebomline = (XmlElement)bomline;
|
|
|
if (xeonebomline.HasAttribute("blockname"))
|
|
|
{
|
|
|
ed.WriteMessage("明细栏块名称:" + xeonebomline.GetAttribute("blockname").ToString() + "\n");
|
|
|
mxlname = xeonebomline.GetAttribute("blockname").ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("请确认明细表.xml文件配置含有blockname属性\n");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
listmxl = origintool.GetMXLInfo(filepath, mxlname);
|
|
|
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
|
|
|
return listmxl;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//获取Item类型.xml文件信息
|
|
|
public Hashtable OriginReadTypeXML(string filepath,Hashtable itemtypetable)
|
|
|
{
|
|
|
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
filepath = filepath + "Item类型.xml";
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点ItemTypes
|
|
|
XmlNodeList xmltypelist = xmldocument.SelectSingleNode("ItemTypes").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode onetype in xmltypelist)
|
|
|
{
|
|
|
//获得一个ItemType
|
|
|
XmlElement xeonetype = (XmlElement)onetype;
|
|
|
//获得ItemType子节点
|
|
|
XmlNodeList onetypeinfo = xeonetype.ChildNodes;
|
|
|
foreach (XmlNode node in onetypeinfo)
|
|
|
{
|
|
|
XmlElement xeone = (XmlElement)node;
|
|
|
//string typecad = "";
|
|
|
string typetc = "";
|
|
|
|
|
|
//if (xeone.HasAttribute("cad"))
|
|
|
//{
|
|
|
// typecad = xeone.GetAttribute("cad").ToString();
|
|
|
//}
|
|
|
//else
|
|
|
// ed.WriteMessage("Item类型.xml文件配置不符合规范\n");
|
|
|
if (xeone.HasAttribute("tc"))
|
|
|
{
|
|
|
typetc = xeone.GetAttribute("tc").ToString();
|
|
|
}
|
|
|
else
|
|
|
ed.WriteMessage("Item类型.xml文件配置不符合规范\n");
|
|
|
/*ed.WriteMessage(xeone.GetAttribute("type").ToString() + " " +
|
|
|
xeone.GetAttribute("cad").ToString() + " " +
|
|
|
xeone.GetAttribute("tc").ToString() +"\n");*/
|
|
|
itemtypetable = origintool.TableHasKey(itemtypetable, typetc, typetc);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
|
|
|
return itemtypetable;
|
|
|
}
|
|
|
|
|
|
|
|
|
//获取Item类型.xml文件信息
|
|
|
public OriginDataSet OriginReadDataSetXML(string filepath)
|
|
|
{
|
|
|
OriginDataSet dataset = new OriginDataSet();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
filepath = filepath + "数据集.xml";
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点ItemTypes
|
|
|
XmlNodeList xmldatalist = xmldocument.SelectSingleNode("DataSets").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode onedata in xmldatalist)
|
|
|
{
|
|
|
//获得一个data
|
|
|
XmlElement xeonedata = (XmlElement)onedata;
|
|
|
if (xeonedata.HasAttribute("type") && xeonedata.HasAttribute("refname") && xeonedata.HasAttribute("separator"))
|
|
|
{
|
|
|
dataset.Datatype = xeonedata.GetAttribute("type").ToString();
|
|
|
dataset.Refname = xeonedata.GetAttribute("refname").ToString();
|
|
|
dataset.Separator = xeonedata.GetAttribute("separator").ToString();
|
|
|
ed.WriteMessage(dataset.Datatype + "\t" + dataset.Refname + "\t" + dataset.Separator + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("数据集.xml文件配置有误,请确认!\n");
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
//获得dataset子节点
|
|
|
XmlNodeList onedatainfo = xeonedata.ChildNodes;
|
|
|
foreach (XmlNode node in onedatainfo)
|
|
|
{
|
|
|
XmlElement xeone = (XmlElement)node;
|
|
|
if (xeone.HasAttribute("seq") && xeone.HasAttribute("from"))
|
|
|
{
|
|
|
int seq = Convert.ToInt32(xeone.GetAttribute("seq").ToString());
|
|
|
string from = xeone.GetAttribute("from").ToString();
|
|
|
dataset.Dsnametable = origintool.TableHasKey(dataset.Dsnametable, seq, from);
|
|
|
ed.WriteMessage(seq+"\t"+from+"\n");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
|
|
|
return dataset;
|
|
|
}
|
|
|
|
|
|
|
|
|
//获取规则.xml文件信息
|
|
|
public OriginTypeRule OriginReadRuleXML(string filepath)
|
|
|
{
|
|
|
OriginTypeRule origintyperule = new OriginTypeRule();
|
|
|
XmlReaderSettings settings = null;
|
|
|
XmlDocument xmldocument = null;
|
|
|
XmlReader xmlreader = null;
|
|
|
filepath = filepath + "规则.xml";
|
|
|
try
|
|
|
{
|
|
|
ed.WriteMessage("XML路径:" + filepath + "\n");
|
|
|
|
|
|
settings = new XmlReaderSettings();
|
|
|
settings.IgnoreComments = true; ;//忽略文档里面的注释
|
|
|
xmldocument = new XmlDocument();
|
|
|
xmlreader = XmlReader.Create(filepath, settings);
|
|
|
xmldocument.Load(xmlreader);
|
|
|
//得到根节点的子节点Rule
|
|
|
XmlNodeList xmlrulelist = xmldocument.SelectSingleNode("Rules").ChildNodes;
|
|
|
|
|
|
OriginTool origintool = new OriginTool();
|
|
|
|
|
|
|
|
|
foreach (XmlNode onerule in xmlrulelist)
|
|
|
{
|
|
|
//获得一个rule
|
|
|
XmlElement xeonerule = (XmlElement)onerule;
|
|
|
if (xeonerule.HasAttribute("default"))
|
|
|
{
|
|
|
origintyperule.Defaulttype = xeonerule.GetAttribute("default").ToString();
|
|
|
ed.WriteMessage("默认类型:"+origintyperule.Defaulttype + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
origintyperule.Defaulttype = "Item";
|
|
|
}
|
|
|
|
|
|
//获得rule子节点
|
|
|
XmlNodeList oneruleinfo = xeonerule.ChildNodes;
|
|
|
foreach (XmlNode node in oneruleinfo)
|
|
|
{
|
|
|
XmlElement xeone = (XmlElement)node;
|
|
|
if (xeone.HasAttribute("seq"))
|
|
|
{
|
|
|
int seq = Convert.ToInt32(xeone.GetAttribute("seq").ToString());
|
|
|
ed.WriteMessage("序号" + seq + "\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ed.WriteMessage("规则.xml文件中没有配置seq属性列,请检查配置\n");
|
|
|
return null;
|
|
|
}
|
|
|
string seqstring = xeone.GetAttribute("seq").ToString();
|
|
|
if (xeone.HasAttribute("source"))
|
|
|
{
|
|
|
string sourcestring = xeone.GetAttribute("source").ToString();
|
|
|
ed.WriteMessage("序号:"+seqstring+"要处理的对象:" + sourcestring + "\n");
|
|
|
origintyperule.Sourcetable = origintool.TableHasKey(origintyperule.Sourcetable, seqstring, sourcestring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Sourcetable = origintool.TableHasKey(origintyperule.Sourcetable, seqstring, "");
|
|
|
if (xeone.HasAttribute("startwith"))
|
|
|
{
|
|
|
string startstring = xeone.GetAttribute("startwith").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "startwith:" + startstring + "\n");
|
|
|
origintyperule.Starttable = origintool.TableHasKey(origintyperule.Starttable, seqstring, startstring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Starttable = origintool.TableHasKey(origintyperule.Starttable, seqstring, "");
|
|
|
if (xeone.HasAttribute("endwith"))
|
|
|
{
|
|
|
string endstring = xeone.GetAttribute("endwith").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "endwith:" + endstring + "\n");
|
|
|
origintyperule.Endtable = origintool.TableHasKey(origintyperule.Endtable, seqstring, endstring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Endtable = origintool.TableHasKey(origintyperule.Endtable, seqstring, "");
|
|
|
if (xeone.HasAttribute("contain"))
|
|
|
{
|
|
|
string containstring = xeone.GetAttribute("contain").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "contain:" + containstring + "\n");
|
|
|
origintyperule.Containtable = origintool.TableHasKey(origintyperule.Containtable,seqstring,containstring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Containtable = origintool.TableHasKey(origintyperule.Containtable, seqstring, "");
|
|
|
if (xeone.HasAttribute("equal"))
|
|
|
{
|
|
|
string equalstring = xeone.GetAttribute("equal").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "equal:" + equalstring + "\n");
|
|
|
origintyperule.Equaltable = origintool.TableHasKey(origintyperule.Equaltable,seqstring,equalstring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Equaltable = origintool.TableHasKey(origintyperule.Equaltable, seqstring, "");
|
|
|
if (xeone.HasAttribute("type"))
|
|
|
{
|
|
|
string typestring = xeone.GetAttribute("type").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "type:" + typestring + "\n");
|
|
|
origintyperule.Typetable = origintool.TableHasKey(origintyperule.Typetable,seqstring,typestring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Typetable = origintool.TableHasKey(origintyperule.Typetable, seqstring, "");
|
|
|
if (xeone.HasAttribute("true"))
|
|
|
{
|
|
|
string truestring = xeone.GetAttribute("true").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "true:" + truestring + "\n");
|
|
|
origintyperule.Truetable = origintool.TableHasKey(origintyperule.Truetable,seqstring,truestring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Truetable = origintool.TableHasKey(origintyperule.Truetable, seqstring, "");
|
|
|
if (xeone.HasAttribute("false"))
|
|
|
{
|
|
|
string falsestring = xeone.GetAttribute("false").ToString();
|
|
|
ed.WriteMessage("序号:" + seqstring + "false:" + falsestring + "\n");
|
|
|
origintyperule.Falsetable = origintool.TableHasKey(origintyperule.Falsetable,seqstring,falsestring);
|
|
|
}
|
|
|
else
|
|
|
origintyperule.Falsetable = origintool.TableHasKey(origintyperule.Falsetable, seqstring, "");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch (System.Exception ex)
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
ed.WriteMessage(ex.Message + "\n");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
xmlreader.Close();
|
|
|
}
|
|
|
return origintyperule;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|