private static List <Rom3dsdbInfo> Parse3dsreleaseXML() { FileInfo l3dsdbFile = BQ3dsdbXML.Get3dsdbFile(); if (!l3dsdbFile.Exists) { return(new List <Rom3dsdbInfo>()); } List <Rom3dsdbInfo> lResult = new List <Rom3dsdbInfo>(); XmlDocument lXmlDoc = new XmlDocument(); lXmlDoc.Load(l3dsdbFile.FullName); XmlNode xn = lXmlDoc.SelectSingleNode("releases"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xn1 in xnl) { XmlElement tXmlE = (XmlElement)xn1; XmlNodeList tXmlNL = tXmlE.ChildNodes; Rom3dsdbInfo lRom3dsdbInfo = new Rom3dsdbInfo(); for (int i = 0; i < tXmlNL.Count; i++) { foreach (var InfoProp in lRom3dsdbInfo.GetType().GetProperties()) { if (tXmlNL.Item(i).Name == InfoProp.Name) { InfoProp.SetValue(lRom3dsdbInfo, tXmlNL.Item(i).InnerText); break; } } } lResult.Add(lRom3dsdbInfo); } return(lResult); }
/// <summary> /// 資料設定 /// </summary> /// <param name="prop">Info屬性</param> /// <param name="value">值</param> public void SetValue(InfoProp prop, string value) { switch (prop) { case InfoProp.LANGUAGE: language = value; break; case InfoProp.EVENT: @event = value; break; case InfoProp.URGENCY: urgency = value; break; case InfoProp.SEVERITY: severity = value; break; case InfoProp.CERTAINTY: certainty = value; break; case InfoProp.AUDIENCE: audience = value; break; case InfoProp.EFFECTIVE: effective = value; break; case InfoProp.ONSET: onset = value; break; case InfoProp.EXPIRES: expires = value; break; case InfoProp.SENDERNAME: senderName = value; break; case InfoProp.HEADLINE: headline = value; break; case InfoProp.DESCRIPTION: description = value; break; case InfoProp.INSTRUCTION: instruction = value; break; case InfoProp.WEB: web = value; break; case InfoProp.CONTACT: contact = value; break; } }