コード例 #1
0
ファイル: Parser.cs プロジェクト: vijayamazon/ezbob
        }         // NamedParse

        public Dictionary <string, ParsedData> NamedParse(XmlNode oRoot)
        {
            if (oRoot == null)
            {
                throw new OwnException("XML root node is not specified.");
            }

            var oResult = new Dictionary <string, ParsedData>();

            m_oGroups.ForEach(grp => {
                var oGroupData    = new ParsedData(grp);
                oResult[grp.Name] = oGroupData;

                oGroupData.Parse(oRoot, this);
            });

            return(oResult);
        }         // NamedParse
コード例 #2
0
ファイル: ParsedData.cs プロジェクト: vijayamazon/ezbob
        }         // Parse

        private void ParseOne(XmlNode oNode, SafeLog oLog)
        {
            var oData = new ParsedDataItem();

            foreach (KeyValuePair <string, OutputFieldBuilder> pair in m_oFieldGroup.OutputFieldBuilders)
            {
                pair.Value.Clear();
            }

            foreach (Field fld in m_oFieldGroup.Fields)
            {
                XmlNode oValue = oNode.SelectSingleNode(fld.SourcePath);

                string sValue = (oValue == null) ? null : oValue.InnerText;

                fld.SetValue(sValue);
            }             // for each field

            foreach (KeyValuePair <string, OutputFieldBuilder> pair in m_oFieldGroup.OutputFieldBuilders)
            {
                oData[pair.Key] = pair.Value.Build();
            }

            if (m_oFieldGroup.HasChildren())
            {
                foreach (var grp in m_oFieldGroup.Children)
                {
                    var oGroupData = new ParsedData(grp);
                    oData.Children[grp.Name] = oGroupData;

                    oGroupData.Parse(oNode, oLog);
                }         // foreach child
            }             // if

            Data.Add(oData);
        }         // ParseOne