private static ParamTagVO readParamTag(XmlNode ptgNode)
        {
            ParamTagVO ptgvo = new ParamTagVO();

            foreach (XmlAttribute attr in ptgNode.Attributes)
            {
                switch (attr.Name)
                {
                case "name":
                    ptgvo.name = attr.Value;
                    break;

                case "guid":
                    ptgvo.guid = attr.Value;
                    break;

                case "changed":
                    ptgvo.changed = attr.Value[0];
                    break;
                }

                ptgvo.notes = ptgNode.InnerText;
            }

            XmlNode srcPtgNode  = ptgNode.SelectSingleNode("srcParamTag");
            XmlNode destPtgNode = ptgNode.SelectSingleNode("destParamTag");

            if (ptgvo.changed == 'U' && srcPtgNode != null && destPtgNode != null)
            {
                ptgvo.srcParamTag  = readParamTag(srcPtgNode.SelectSingleNode("tv"));
                ptgvo.destParamTag = readParamTag(destPtgNode.SelectSingleNode("tv"));
            }

            return(ptgvo);
        }
        /// <summary>
        /// パラメータのタグ付き値をDBから読み込み、Mapに格納する
        /// </summary>
        private void getAllParameterTaggedValueMap()
        {
            Console.WriteLine("getAllParameterTaggedValue()");

            string strSQL, strFields;

            // 読み込む項目リスト
            strFields =
                " PropertyID, ElementID, TagValue, Notes ";

            // SQL文 を作成
            strSQL = "select " + strFields +
                     " from t_taggedvalue " +
                     " where BaseClass = 'OPERATION_PARAMETER' " +
                     " order by ElementID, PropertyID ";

            OleDbCommand dbCom = new OleDbCommand();

            // SQLを実行する
            dbCom.CommandText = strSQL;
            dbCom.Connection  = objConn;

            // ElementId(パラメータのGUID)順でリストにセットされる
            List <ParamTagVO> paramTagList = new List <ParamTagVO>();

            // DB読み込み
            OleDbDataReader reader = dbCom.ExecuteReader();

            while (reader.Read())
            {
                ParamTagVO prmTag = new ParamTagVO();

                prmTag.guid      = DbUtil.readStringField(reader, 0);
                prmTag.paramGuid = DbUtil.readStringField(reader, 1);
                prmTag.name      = StringUtil.excludeSpecialChar("t_taggedvalue", "TagValue", prmTag.guid, DbUtil.readStringField(reader, 2));
                prmTag.notes     = DbUtil.readStringField(reader, 3);

                paramTagList.Add(prmTag);
            }

            reader.Close();
            Console.WriteLine("--- AllParameterTaggedValue 作成処理");

            string            saveParamGuid       = "";
            List <ParamTagVO> paramTagListInParam = new List <ParamTagVO>();

            foreach (ParamTagVO ptgvo in paramTagList)
            {
                // 初回は前回情報が空のため、最初のレコードが前回情報となる
                if (saveParamGuid == "")
                {
                    paramTagListInParam = new List <ParamTagVO>();
                    saveParamGuid       = ptgvo.paramGuid;
                }

                // 要素IDが前行と同一の場合
                if (saveParamGuid == ptgvo.paramGuid)
                {
                    // 現在のメソッドリストにこのメソッドを追加
                    paramTagListInParam.Add(ptgvo);
                }
                // 同一でない場合
                else
                {
                    // 現在のメソッドリストを返却Mapに追加
                    g_AllParamTagsInParamMap.Add(saveParamGuid, paramTagListInParam);

                    paramTagListInParam = new List <ParamTagVO>();
                    paramTagListInParam.Add(ptgvo);

                    saveParamGuid = ptgvo.paramGuid;
                }
            }

            // 最後に溜まっている分の要素内操作リストを返却Mapに追加
            g_AllParamTagsInParamMap.Add(saveParamGuid, paramTagListInParam);
        }