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


C# Package.CreateXmlDocumentItem方法代码示例

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


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

示例1: Transform

 public override void Transform(Engine engine, Package package)
 {
     Initialize(engine, package);
     Component comp = GetComponent();
     if (IsPageTemplate() || comp == null)
     {
         Logger.Error("No Component found (is this a Page Template?)");
         return;
     }
     Item outputItem = package.GetByName(Package.OutputName);
     if (outputItem == null)
     {
         Logger.Error("No Output package item found (is this TBB placed at the end?)");
         return;
     }
     _metaFieldNames = (package.GetValue("multimediaLinkAttributes") ?? String.Empty).Split(',').Select(s => s.Trim()).ToList();
     // resolve rich text fields
     XmlDocument doc = new XmlDocument();
     string output = outputItem.GetAsString();
     doc.LoadXml(output);
     var fields = doc.SelectNodes("//Field[@FieldType='Xhtml']/Values/string");
     foreach (XmlElement field in fields)
     {
         field.InnerXml = ResolveXhtml(field.InnerXml);
     }
     package.Remove(outputItem);
     package.PushItem(Package.OutputName, package.CreateXmlDocumentItem(ContentType.Xml, doc));
 }
开发者ID:MrSnowflake,项目名称:tri,代码行数:28,代码来源:ResolveRichText.cs

示例2: Transform

        public override void Transform(Engine engine, Package package)
        {
            Initialize(engine, package);
            Component comp = GetComponent();
            if (IsPageTemplate() || comp == null)
            {
                Logger.Error("No Component found (is this a Page Template?)");
                return;
            }
            Item outputItem = package.GetByName(Package.OutputName);
            if (outputItem == null)
            {
                Logger.Error("No Output package item found (is this TBB placed at the end?)");
                return;
            }
            _metaFieldNames = (package.GetValue("multimediaLinkAttributes") ?? String.Empty).Split(',').Select(s => s.Trim()).ToList();

            // resolve rich text fields
            string output = outputItem.GetAsString();
            package.Remove(outputItem);
            if (output.StartsWith("<"))
            {
                Logger.Debug("Content is XML");
                //XML - only for backwards compatibility
                package.PushItem(Package.OutputName, package.CreateXmlDocumentItem(ContentType.Xml, ResolveXmlContent(output)));
            }
            else
            {
                Logger.Debug("Content is JSON");
                //JSON
                package.PushItem(Package.OutputName, package.CreateStringItem(ContentType.Text, ResolveJsonContent(output)));
            }
        }
开发者ID:NiclasCedermalm,项目名称:dxa-content-management,代码行数:33,代码来源:ResolveRichText.cs

示例3: Transform

		/// <summary>
		/// Overrides the TemplateBase method Transform. Implements actual logic -- identifies Root Structure Group 
		/// of current Publication and kicks off recursive building of navigation XML.
		/// The generated XmlDocument is added to the Package as element "Output".
		/// </summary>
		/// <param name="engine">Engine for current transformation</param>
		/// <param name="package">The current Package object</param>
		public override void Transform(Engine engine, Package package) {
			Initialize(engine, package);

			Publication publication = GetPublication();
			StructureGroup rootSG = publication.RootStructureGroup;

			filter = new OrganizationalItemItemsFilter(rootSG.Session) {
				BaseColumns = ListBaseColumns.IdAndTitle,
				ItemTypes = new ItemType[] { ItemType.Page, ItemType.StructureGroup }
			};

			XmlElement navigationXml = BuildNavigation(rootSG);
			package.PushItem("Output", package.CreateXmlDocumentItem(ContentType.Xml, navigationXml.OwnerDocument));
		}
开发者ID:amarildopps,项目名称:yet-another-tridion-blog,代码行数:21,代码来源:GenerateStructureGroupNavigationRecursive.cs

示例4: Transform

        public void Transform(Engine engine, Package package)
        {
            _engine = engine;
            _package = package;
            _log = TemplatingLogger.GetLogger(GetType());
            TemplateType templateType;

            if (package.GetByName(Package.ComponentName) != null)
                templateType = TemplateType.Component;
            else
                templateType = TemplateType.Page;

            Item output = null;
            if (templateType == TemplateType.Page)
            {
                Page page = (Page)engine.GetObject(package.GetByName(Package.PageName));
                page.Load(LoadFlags.KeywordXlinks);
                output = package.CreateXmlDocumentItem(ContentType.Xml, page.ToXml(XmlFormat.R6Native, XmlSections.All).OwnerDocument);

                foreach (ComponentPresentation cp in page.ComponentPresentations)
                {
                    engine.RenderComponentPresentation(cp.Component.Id, cp.ComponentTemplate.Id);
                }
            }
            if (templateType == TemplateType.Component)
            {
                Component component = (Component)engine.GetObject(package.GetByName(Package.ComponentName));
                component.Load(LoadFlags.KeywordXlinks);
                output = package.CreateXmlDocumentItem(ContentType.Xml, component.ToXml(XmlFormat.R6Native, XmlSections.All).OwnerDocument);
                if(component.BinaryContent != null)
                {
                    package.PushItem(package.CreateMultimediaItem(component));
                }
            }
            if (output != null)
                package.PushItem(Package.OutputName, output);
        }
开发者ID:NunoLinhares,项目名称:TridionWebData,代码行数:37,代码来源:GetItemXml.cs

示例5: Transform

		/// <summary>
		/// Overrides the TemplateBase method Transform. Implements actual logic -- identifies Root Structure Group 
		/// of current Publication and kicks off recursive building of navigation XML.
		/// The generated XmlDocument is added to the Package as element "Output".
		/// </summary>
		/// <param name="engine"></param>
		/// <param name="package"></param>
		public override void Transform(Engine engine, Package package) {
			DateTime t = DateTime.Now;
			Initialize(engine, package);

			Publication publication = GetPublication();
			StructureGroup rootSG = publication.RootStructureGroup;

			filter = new OrganizationalItemItemsFilter(rootSG.Session) {
				BaseColumns = ListBaseColumns.IdAndTitle,
				ItemTypes = new ItemType[] { ItemType.Page, ItemType.StructureGroup },
				Recursive = true
			};

			XmlElement navigationXml = BuildNavigationGetItems(rootSG);

			//record build navigation time
			string message = string.Format("Execution took {0:0.##}s", DateTime.Now.Subtract(t).TotalSeconds);
			navigationXml.AppendChild(navigationXml.OwnerDocument.CreateComment(message));

			package.PushItem("Output", package.CreateXmlDocumentItem(ContentType.Xml, navigationXml.OwnerDocument));
		}
开发者ID:amarildopps,项目名称:yet-another-tridion-blog,代码行数:28,代码来源:GenerateStructureGroupNavigationGetItems.cs


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