示例#1
0
        /// <summary>
        /// Determines whether the specified message contains tag under the parentTag.
        /// </summary>
        public static bool ContainsTag(this XmlContainer message, String parentTag, String tag)
        {
            if (String.IsNullOrEmpty(parentTag))
            {
                throw new ArgumentException("parentTag");
            }

            if (String.IsNullOrEmpty(tag))
            {
                throw new ArgumentException("tag");
            }

            try
            {
                XElement doc = XElement.Parse(message.GetXmlString(XmlNamespaceOption.IgnoreNamespaces));

                var parentElement = doc.GetElementWithName(parentTag);

                return(null != parentElement && null != parentElement.GetElementWithName(tag));
            }
            catch (XmlException e)
            {
                Logger.LogException(String.Empty, e);
                return(false);
            }
        }
示例#2
0
        /// <summary>
        /// Returns value of given tag in given message, null otherwise
        /// </summary>
        public static String ValueOf(XmlContainer message, String tag)
        {
            if (null == message)
            {
                throw new ArgumentNullException();
            }

            if (String.IsNullOrEmpty(tag))
            {
                throw new ArgumentException();
            }

            XElement doc = XElement.Parse(message.GetXmlString(XmlNamespaceOption.IgnoreNamespaces));

            var element = doc.GetElementWithName(tag);

            return(null == element ? null : element.Value);
        }
示例#3
0
        /// <summary>
        /// Returns attributes of given tag in given message, null otherwise
        /// </summary>
        public static XAttribute[] AttributesOf(XmlContainer message, String tag)
        {
            if (null == message)
            {
                throw new ArgumentNullException();
            }

            if (String.IsNullOrEmpty(tag))
            {
                throw new ArgumentException();
            }

            XElement doc = XElement.Parse(message.GetXmlString(XmlNamespaceOption.IgnoreNamespaces));

            var element = doc.Descendants().FirstOrDefault(item => item.Name.LocalName == tag);

            return(null == element ? null : element.Attributes().ToArray());
        }