当前位置: 首页>>代码示例>>C#>>正文


C# XNode.ErrorContext方法代码示例

本文整理汇总了C#中System.Xml.Linq.XNode.ErrorContext方法的典型用法代码示例。如果您正苦于以下问题:C# XNode.ErrorContext方法的具体用法?C# XNode.ErrorContext怎么用?C# XNode.ErrorContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.Linq.XNode的用法示例。


在下文中一共展示了XNode.ErrorContext方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Process

        public override IEnumerable< XNode > Process(XNode node)
        {
            XElement element = _AssumeElement( node );
            string symbol_name = element.Name.LocalName;
            if ( !_Env.IsDefined( symbol_name ) )
                throw InvalidMarkupException.CreateException( "[{0}] Undefined symbol '{1}'   ",
                                                              node.ErrorContext(),
                                                              element.Name );
            /* Evaluate the symbol on a new stack frame, since we may be defining local symbols
             * based on the attributes */
            return _Env.Call( () =>
                                  {
                                      /* Bind attributes as local symbolic definitions */
                                      _DefineFromAttributes( element );
                                      /* Bind any nested definition elements */
                                      _ProcessNodes(
                                          element.Elements( _Env._Settings.Namespace.GetName("define") ).Select
                                              ( n => ( XNode ) n ) );

                                      // Must materialize the deferred-execution nodeset 
                                      // iterator before this method returns, otherwise 
                                      // the evaluation stack will be wrong.  Calling ToArray()
                                      // ensures this.
                                      return _Env.EvalSymbol( symbol_name ).ToArray();
                                      //return _ProcessNodes( ret );
                                  } );
        }
开发者ID:kascomp,项目名称:CruiseControl.NET,代码行数:27,代码来源:ExpandSymbolProcessor.cs

示例2: Process

 public override IEnumerable< XNode > Process(XNode node)
 {
     XElement element = _AssumeElement( node );
     // If "define" element has a "name" attribute, treat the element contents as a nodeset definition.
     if ( element.HasAttribute( AttrName.Name ) )
     {
         _Env.DefineNodesetSymbol( ( string ) element.Attribute( AttrName.Name ),
                                   element.Nodes() );
     }
         // ...otherwise treat each attribute as a separate text definition of the form "name=value"
     else if ( element.HasAttributes )
     {
         _DefineFromAttributes( element );
     }
     else
     {
         throw DefinitionException.CreateException(
             "{0} <define> element has no attributes.",
             node.ErrorContext() );
     }
     /* Define produces no output */
     return new XNode[] {};
 }
开发者ID:kascomp,项目名称:CruiseControl.NET,代码行数:23,代码来源:DefineProcessor.cs

示例3: _ValueOf

 private static string _ValueOf(XNode node)
 {
     switch (node.NodeType)
     {
         case XmlNodeType.Element:
             return ((XElement)node).Value;
         case XmlNodeType.Text:
             return ((XText)node).Value;
         case XmlNodeType.Comment:
         case XmlNodeType.ProcessingInstruction:
             return String.Empty;
         default:
             throw new InvalidOperationException(
                 string.Format(System.Globalization.CultureInfo.CurrentCulture,"{0} Unhandled node type {1}",
                                node.ErrorContext(),
                                node.NodeType));
     }
 }
开发者ID:kascomp,项目名称:CruiseControl.NET,代码行数:18,代码来源:XHelpers.cs


注:本文中的System.Xml.Linq.XNode.ErrorContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。