在sdl tridion中生成包含组件的xml字段

0 tridion

如何生成包含SDl Tridion中组件的所有字段的xml文件?我必须通过编写C#代码来做到这一点.我使用以下代码:

 public class stockcompany : ITemplate
    {
        private Engine engine;
        private Package package;
        public void Transform(Engine engine, Package package)

        {

            this.engine = engine;
            this.package = package;



            StringBuilder sb = new StringBuilder();
            Component component = engine.GetObject(package.GetValue("Component.ID")) as Component;
            ItemFields componentfields = new ItemFields(component.Content, component.Schema);
            ItemFields compometa = new ItemFields(component.Metadata, component.Schema);



            if (compometa.Contains("check"))
           {

           }

            if (componentfields.Contains("companyname"))
            {

                 string company = string.Empty;

                company = componentfields["companyname"].ToString();
                package.PushItem("xml", package.CreateHtmlItem(company.ToString()));


         XDocument myxml = new XDocument (new XDeclaration ("1.0","UTF-8",null ),new XElement ("companies",new XElement ("company",xml)));

            }
Run Code Online (Sandbox Code Playgroud)

Nun*_*res 5

你可能在这里重新发明了轮子.

  1. Tridion项目 XML.组件的.Content和.Metadata属性返回XML,这样就足够了吗?
  2. DD4T使用将XML发布到交付方的模板,可能值得查看:http://code.google.com/p/dynamic-delivery-4-tridion/

鉴于DD4T是开源的,您可能需要检查它们是如何做到这一点的.