/// <summary> /// 注入小区信息 /// </summary> /// <param name="Sectors">扇区信息,扇区编号和天线构成</param> /// <param name="RefLteNode">新生成的,EDS中的基站信息</param> private static void BuildCellInfo(List <AircomCell> Sectors, ref LTENodeType RefLteNode) { List <LTECellType> _LteCells = new List <LTECellType>(); foreach (var Sector in Sectors) { #region Cells LTECellType _LteCell = new LTECellType(); List <AirComAntennaType> Antennas = Sector.Antenners as List <AirComAntennaType>; #region 生成扇区信息 _LteCell.iid = string.Format("{0}-{1}", RefLteNode.iid, Sector.CellID); //添加扇区界面中,用户输入的扇区名称 _LteCell.Parent = new IDType() { iid = RefLteNode.iid //LteNode的IID一致 }; _LteCell.Tac = 0; //路由编码,采用默认值0 _LteCell.TacSpecified = true; _LteCell.LTECellIDSpecified = true; _LteCell.LTECellID = Sector.CellID; #endregion #region 生成馈线信息 if (Antennas != null && Antennas.Count > 0) { foreach (var obj in Antennas) { double max = 31 + ((obj.Power - 0.21) / 3 + (obj.Power - 0.21) % 3 > 0 ? 1 : 0) * 3; _LteCell.Carrier = new LTECellCarrierType() { CarrierID = obj.CarrierId.ToString(), MaxTxPower = max, //最大功能,由用户从界面输入的RS功率换算;换算方法:稍后发邮; MaxTaSpecified = true, NoiseFigure = 6, //采用默认值6 NoiseFigureSpecified = true, PhysicalCellID = 0, //采用默认值0 PhysicalCellIDSpecified = true }; } } #endregion _LteCells.Add((_LteCell)); #endregion } RefLteNode.Cells = _LteCells.ToArray(); }
/// <summary> /// 生成删除基站xml数据 /// </summary> /// <param name="ProjectName">工程名</param> /// <param name="LTEStations"></param> public static bool BuilLteNodeDeleteXML(string ProjectName, List <LTENodeType> LTEStations, string SaveDir, out string XmlFileFullName) { try { #region 序列化示例 XmlSerializerNamespaces nsMgr = new XmlSerializerNamespaces(); #region 指定命名空间 nsMgr.Add("umts70", "http://www.aircominternational.com/Schemas/UMTS/2010/08"); nsMgr.Add("gsm", "http://www.aircominternational.com/Schemas/GSM/2009/09"); nsMgr.Add("eqp", "http://www.aircominternational.com/Schemas/Equipment/2009/09"); nsMgr.Add("umts", "http://www.aircominternational.com/Schemas/UMTS/2010/07"); nsMgr.Add("tra70", "http://www.aircominternational.com/Schemas/Connect/2010/08"); nsMgr.Add("co", "http://www.aircominternational.com/Schemas/Common/2009/07"); nsMgr.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance"); nsMgr.Add("co70", "http://www.aircominternational.com/Schemas/Common/2010/08"); nsMgr.Add("gsm70", "http://www.aircominternational.com/Schemas/GSM/2010/08"); nsMgr.Add("util", "http://www.aircominternational.com/contract/Util/2009/10"); nsMgr.Add("config", "http://www.aircominternational.com/Schemas/Configuration/2010/08"); nsMgr.Add("tra", "http://www.aircominternational.com/Schemas/Connect/2009/09"); nsMgr.Add("ct", "http://www.aircominternational.com/Schemas/CommonTypes/2009/05"); nsMgr.Add("lte", "http://www.aircominternational.com/Schemas/LTE/2010/08"); nsMgr.Add("eqp70", "http://www.aircominternational.com/Schemas/Equipment/2010/08"); nsMgr.Add("umts2", "http://www.aircominternational.com/Schemas/UMTS/2009/05"); #endregion Type[] knowTypes = new[] { typeof(LTECellType) }; List <RootEntityType> Cells = new List <RootEntityType>(); foreach (var obj in LTEStations) { foreach (var cell in obj.Cells) { LTECellType Newtype = new LTECellType() { bvid = ProjectName, iid = cell.iid, }; Cells.Add(Newtype); } } XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, IndentChars = ("\t\t"), NamespaceHandling = NamespaceHandling.OmitDuplicates, NewLineHandling = NewLineHandling.Entitize }; XmlSerializer sr = new XmlSerializer(typeof(List <RootEntityType>), knowTypes); XmlFileFullName = string.Format("{1}\\LTENodeTypes_deleted_tpl_{0}.xml", DateTime.Now.ToString("yyyyMMddHHmmss"), SaveDir); using (XmlWriter wr = XmlWriter.Create(XmlFileFullName, settings)) { sr.Serialize(wr, Cells, nsMgr); } return(true); #endregion } catch (Exception ex) { JLog.Instance.Error(ex.Message, MethodBase.GetCurrentMethod().Name, MethodBase.GetCurrentMethod().Module.Name); XmlFileFullName = string.Empty; return(false); } }
static void Main(string[] args) { try { LTECellType _lte = new LTECellType(); LTENodeType _lteNode = new LTENodeType(); LTEAntennaType _nType = new LTEAntennaType(); LTECellFeederType feeder = new LTECellFeederType(); //_nType.Feeders #region 序列化示例 RootEntityType Root1 = new RootEntityType(); Root1.iid = "HL - D3900256154PT"; Root1.bvid = "LTE_HUNAN"; Root1.Security = null; RootEntityType Root2 = new RootEntityType(); Root2.iid = "HL-D3900256155PT"; Root2.bvid = "LTE_HUNAN"; XmlSerializerNamespaces nsMgr = new XmlSerializerNamespaces(); //XmlNamespaceManager nsMgr = new XmlNamespaceManager();//这一步实例化一个xml命名空间管理器 nsMgr.Add("umts70", "http://www.aircominternational.com/Schemas/UMTS/2010/08"); nsMgr.Add("gsm", "http://www.aircominternational.com/Schemas/GSM/2009/09"); nsMgr.Add("eqp", "http://www.aircominternational.com/Schemas/Equipment/2009/09"); nsMgr.Add("umts", "http://www.aircominternational.com/Schemas/UMTS/2010/07"); nsMgr.Add("tra70", "http://www.aircominternational.com/Schemas/Connect/2010/08"); nsMgr.Add("co", "http://www.aircominternational.com/Schemas/Common/2009/07"); nsMgr.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance"); nsMgr.Add("co70", "http://www.aircominternational.com/Schemas/Common/2010/08"); nsMgr.Add("gsm70", "http://www.aircominternational.com/Schemas/GSM/2010/08"); nsMgr.Add("util", "http://www.aircominternational.com/contract/Util/2009/10"); nsMgr.Add("config", "http://www.aircominternational.com/Schemas/Configuration/2010/08"); nsMgr.Add("tra", "http://www.aircominternational.com/Schemas/Connect/2009/09"); nsMgr.Add("ct", "http://www.aircominternational.com/Schemas/CommonTypes/2009/05"); nsMgr.Add("lte", "http://www.aircominternational.com/Schemas/LTE/2010/08"); nsMgr.Add("eqp70", "http://www.aircominternational.com/Schemas/Equipment/2010/08"); nsMgr.Add("umts2", "http://www.aircominternational.com/Schemas/UMTS/2009/05"); //LTECellType Root1 = new LTECellType(); //Root1.iid = "HL - D3900256154PT"; //Root1.bvid = "LTE_HUNAN"; //LTECellType Root2 = new LTECellType(); //Root2.iid = "HL-D3900256155PT"; //Root2.bvid = "LTE_HUNAN"; List <RootEntityType> tt = new List <RootEntityType>(); tt.Add(Root1); tt.Add(Root2); //JLIB.CSharp.JFileExten.ToXML((RootEntityType)Lte, "d:\\TestLte.xml"); //XmlRootAttribute rootAtrAttribute = new XmlRootAttribute("ArrayOfRootEntityType"); XmlAttributeAttribute aa = new XmlAttributeAttribute("type", typeof(string)); aa.Namespace = "http://www.w3.org/2001/XMLSchema-instance"; aa.AttributeName = typeof(LocationObjectv70Type).ToString(); XmlSerializer sr = new XmlSerializer(typeof(List <RootEntityType>)); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, IndentChars = ("\t\t"), NamespaceHandling = NamespaceHandling.OmitDuplicates, NewLineHandling = NewLineHandling.Entitize //NewLineOnAttributes = true }; // Simply dump dataset to xml file on disk... using (XmlWriter wr = XmlWriter.Create("d:\\TestLte.xml", settings)) { sr.Serialize(wr, tt, nsMgr); } #endregion #region 创建示例 //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); //client.Open(); //List<RootEntityType> datas = new List<RootEntityType>(); //var Entity = new LTENodeType(); //Entity.iid = ""; //Entity.bvid = ""; //Entity.PLMN = new IDType() //{ // iid = "LTE_HUNAN" //}; ////Entity.Cells; ////Entity.Antennas ////Entity.Carriers; //datas.Add(Entity); //#region LTE CELL //LTECellType Cell = new LTECellType(); //#endregion //CreateRequestType CreateParams = new CreateRequestType(); //var CreateItems = new CreateItemType[] //{ // new CreateItemType() // { // itemID = new Guid(), // objectType = QueryableTypes.LTENodeType, // NewData = datas.ToArray() // } //}; //CreateParams.CreateItems = CreateItems; //CreateParams.CreateItems = CreateItems; //var Result = client.Create(CreateParams); #endregion #region wjj删除示例 // var _DelItems = new List<DeleteItemType>(); // #region 添加删除项 // var _DelItem = new DeleteItemType(); // _DelItem.objectType = QueryableTypes.LocationObjectv70Type; // #region 删除条件 // var selType = new QrySelectType(); // var objs = new QrySimpleListType(); // selType.Item = objs; // #region 删除对像集合 // List<ListItemType> Itemss = new List<ListItemType>(); // var obj = new ListItemType() // { // bvid = "LTE_HUNAN", // iid = "衡阳常宁市六联HL-D3900256154PT" // }; // Itemss.Add(obj); // var obj2 = new ListItemType() // { // bvid = "LTE_HUNAN", // iid = "衡阳常宁市双湖HL-D3900256155PT" // }; // Itemss.Add(obj2); // #endregion //objs.Items = Itemss.ToArray(); // #endregion // _DelItem.Select = selType; // _DelItems.Add(_DelItem); // #endregion // var _QrySel = new QrySelectType(); // DeleteRequestType DelParams = new DeleteRequestType(); // DelParams.DeleteItems = _DelItems.ToArray(); // EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); // client.Open(); // client.Delete(DelParams); #endregion #region 自带查询示例 //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint"); //client.Open(); //var QueryComm = new QrySelectType() //{ // #region QrySelectType // Item = new QrySimpleTextType() // { // // 查询表达式 --生成任意多边形指令 // Query = string.Format("iid = \"{0}\" and bvid = \"{1}\"", "SF03003A_11", "West") // } // #endregion //}; //var QueryItemsInfo = new QueryItemType[] //{ // new QueryItemType() // { // itemID = Guid.NewGuid(), // Inner request id for an item // // data type to query against // objectType = ty, // Select = QueryComm // } //}; //QueryRequestType qry = new QueryRequestType() //{ // itemID = Guid.NewGuid(), // Outer request id // QueryItems = QueryItemsInfo //}; //// sends query //QueryResponseType data = client.Query(qry); //SerializeResultToDisk(data, ty); #endregion } catch (Exception ex) { JLog.Instance.Error(ex.Message, MethodBase.GetCurrentMethod().Name, MethodBase.GetCurrentMethod().Module.Name); } }