/// <summary> /// AllArtficats.xml を読み、ArtifactsVO を返却する /// ただし、この処理ではまだ成果物XMLファイルを読んでいないので、 /// ArtifactVO には package配下の情報は入っていない /// </summary> /// <param name="artifactDir"></param> /// <returns>読み込まれた全成果物情報</returns> public static ArtifactsVO readAllArtifacts(string artifactDir) { ArtifactsVO retArtifacts = new ArtifactsVO(); string allArtifactsFile = "AllArtifacts.xml"; string fileName = artifactDir + "\\" + allArtifactsFile; // XMLテキストをロードする XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); // artifactsノードに移動する XmlNode artifactsNode = xmlDoc.SelectSingleNode("artifacts"); foreach (XmlAttribute atfAttr in artifactsNode.Attributes) { switch (atfAttr.Name) { case "targetProject": if (atfAttr.Value != null && atfAttr.Value != "") { retArtifacts.targetProject = atfAttr.Value; } break; case "lastUpdated": if (atfAttr.Value != null && atfAttr.Value != "") { retArtifacts.lastUpdated = atfAttr.Value; } break; case "targetModel": if (atfAttr.Value != null && atfAttr.Value != "") { retArtifacts.targetModel = atfAttr.Value; } break; } } List <ArtifactVO> artifacts = new List <ArtifactVO>(); foreach (XmlNode atfNode in artifactsNode.ChildNodes) { if (atfNode.Name == "artifact") { artifacts.Add(ArtifactXmlReader.readArtifactNode(atfNode)); } } retArtifacts.artifactList = artifacts; return(retArtifacts); }
/// <summary> /// 指定された成果物一覧のxmlを読み、リスト化する /// /// XML例: /// <artifacts targetProject='Logical' lastUpdated='2017/10/13 10:27:32' targetModel='Logical' > /// <artifact guid='{11EF4332-5CB7-4ecd-8E78-0E50A6E7D3E7}' name='共通設計モデル' path='/論理モデル/レイヤ別ビュー/フレームワーク_STEP3移管対象/' stereotype='fw.adesk_cmn' /> /// </artifacts> /// /// </summary> /// <returns>ArtifactVOのリスト</returns> public static List <ArtifactVO> readArtifactList(string artifactDir, string allArtifactsFile) { List <ArtifactVO> artifactList = new List <ArtifactVO>(); string target_dir = null; if (artifactDir != null) { target_dir = artifactDir; } else { throw new ArgumentException("project_dirを指定してください"); } string target_file = allArtifactsFile; if (target_file == null) { target_file = "AllArtifacts.xml"; } string fileName = target_dir + "/" + target_file; // XMLテキストをロードする XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); // artifactsノードに移動する XmlNode artifactsNode = xmlDoc.SelectSingleNode("//artifacts"); foreach (XmlNode atfNode in artifactsNode.ChildNodes) { if (atfNode.Name == "artifact") { artifactList.Add(ArtifactXmlReader.readArtifactNode(atfNode)); } } return(artifactList); }