コード例 #1
0
ファイル: XslGenerator.cs プロジェクト: leonchen09/poc
        public string SaveAsXsl(HTMLDocument htmlDoc, VstoWord.Document doc)
        {
            string content = null;

            try
            {
                if (htmlDoc.hasChildNodes())
                {
                    using (MemoryStream stream = new MemoryStream())
                    {
                        using (XmlWriter xslWriter = XmlWriter.Create(stream, new XmlWriterSettings {
                            Encoding = UTF8Encoding
                        }))
                        {
                            //<?xml version="1.0" encoding = "utf-8" standalone="yes"?>
                            //<xsl:stylesheet version="1.0">
                            xslWriter.WriteStartXsltDocument();

                            bool indent = false;

#if DEBUG
                            indent = true;
#endif

                            //<xsl:output method="xml" indent="yes" />
                            xslWriter.WriteXslOutputElement(indent);

                            //<xsl:template match="root path"> TODO:PdwDataRootName
                            xslWriter.WriteStartXslTemplateElement(XslRootPath);

                            IEnumerable <ControlBase> controls = doc.Controls.GetValidItems();

                            GenerateWatermarkElement(htmlDoc);

                            //TODO:CONFIRM THIS FUNCTION
                            CreateHtmlTemplate(xslWriter, htmlDoc.firstChild, controls);

                            //<xsl:template />
                            xslWriter.WriteEndElement();

                            //<xsl:stylesheet />
                            xslWriter.WriteEndXsltDocument();
                        }

                        content = UTF8Encoding.GetString(stream.ToArray());

                        Debug.WriteLine(content);
                    }
                }
            }
            catch
            {
                //TODO:EXCEPTION TYPE
                throw;
            }

            return(content);
        }
コード例 #2
0
        private void Inizial()
        {
            dom = (HTMLDocument)web.Document;

            if (dom.hasChildNodes())
            {
                var          x     = dom.createElement("HTML");
                TreeViewItem nodes = new TreeViewItem()
                {
                    Header = "<" + x.tagName + ">"
                };
                nodes.Style        = (Style)this.TryFindResource("TreeViewItem");
                SelectTreeViewItem = nodes;
                nodes.DataContext  = dom;
                ProcessElement(dom.documentElement, ref nodes);
                node.Items.Add(nodes);
            }
        }