コード例 #1
0
ファイル: MvdRule.cs プロジェクト: xBimTeam/XbimMvdXML
        public MvdRule(XPathNavigator Navigator, MvdRule parent)
        {
            Parent = parent;
            Type   = Navigator.Name;
            var childNav = Navigator.Clone();

            Properties  = new Dictionary <string, string>();
            NestedRules = new List <MvdRule>();

            // properties
            var ret = childNav.MoveToFirstAttribute();

            while (ret)
            {
                Properties.Add(childNav.Name, childNav.Value);
                ret = childNav.MoveToNextAttribute();
            }

            // rules
            childNav = Navigator.Clone();
            ret      = childNav.MoveToFirstChild();
            if (childNav.Name.Contains("Rules"))
            {
                ret = childNav.MoveToFirstChild();
            }
            while (ret)
            {
                NestedRules.Add(new MvdRule(childNav, this));
                ret = childNav.MoveToNext();
            }
        }
コード例 #2
0
 internal string GetPropRuleQS(string parname)
 {
     foreach (var item in Rules)
     {
         MvdRule v = item.FindParameterValuePair("RuleID", parname);
         if (v != null)
         {
             return(v.QueryStack());
         }
     }
     return("");
 }