コード例 #1
0
ファイル: Main.cs プロジェクト: migueldeicaza/doxytoecma
        //
        // Plugs Doxy docs into ECMA XML docs.   If the brief data is available,
        // it uses that.   Otherwise it picks the first node from the detailed description.
        //
        // @target is an ECMA XML document to plug data into
        // @summaryPath is the xpath expression to fetch the summary node
        // @remarksPath is the xpath expression to fetch the remarks node
        // @brief is the Doxy Brief description node
        // @detailed is the Doxy detailed description
        //
        IEnumerable<XElement> Plug(XContainer target, string summaryPath, string remarksPath, XElement brief, XElement detailed)
        {
            var ret = TransformDoxy (detailed);
            TransformDoxy (brief);
            var elements = detailed.Elements ();
            var sum = target.XPathSelectElement (summaryPath);
            var rem = target.XPathSelectElement (remarksPath);

            if (brief.Value.ToString ().Trim () != "")
                sum.SetValue (brief.Elements ());
            else {
                var first = elements.FirstOrDefault ();
                if (first != null) {
                    sum.SetValue (first);
                }
            }
            rem.SetValue (elements);
            return ret;
        }
コード例 #2
0
ファイル: BaseJobRunner.cs プロジェクト: uQr/kudu
        private static XElement GetOrCreateElement(XContainer root, string name)
        {
            var element = root.XPathSelectElement(name);

            if (element == null)
            {
                element = new XElement(name);
                root.Add(element);
            }

            return element;
        }
コード例 #3
0
 private XElement GetElementByXPath(XContainer element, string xpath, ILog logger = null)
 {
     var node = element.XPathSelectElement(xpath);
     if (node == null)
     {
         BuildStatusMessage = string.Format(CultureInfo.CurrentCulture, "Could not find node '{0}' in the project xml", xpath);
         if (logger != null) logger.Debug(BuildStatusMessage + Environment.NewLine + element);
     }
     return node;
 }