Пример #1
0
        // Code History:
        // 2010-12-31 mws
        // ******************************************************************************
        /// <summary>
        /// Gets textnode value of an element/property as int64
        /// </summary>
        /// <param name="xPath">XPath selecting the element</param>
        /// <param name="value">Returned int64 value</param>
        /// <param name="result">Returns a ReadFromItemResultEnum value</param>
        public void GetElemValueAsInt64(
            string xPath,
            out Int64 value,
            out ReadFromItemResultEnum result)
        {
            value = 0;
            result = ReadFromItemResultEnum.ok;
            if (string.IsNullOrEmpty(xPath))
            {
                result = ReadFromItemResultEnum.emptyXPath;
                return;
            }

            string valueStr;
            GetElemValueAsString(xPath, ElementTextvalueTypeEnum.innerText, out valueStr, out result);
            if ((result == ReadFromItemResultEnum.ok) || (result == ReadFromItemResultEnum.firstFromMultiple))
            {
                try
                {
                    value = Convert.ToInt64(valueStr);
                }
                catch
                {
                    result = ReadFromItemResultEnum.valuetypeConversionFailed;
                    value = 0;
                }
            }
            else
                return;
        }
Пример #2
0
        // Code History:
        // 2010-12-31 mws
        // ******************************************************************************
        /// <summary>
        /// Gets inner value of an element/property as string
        /// </summary>
        /// <param name="xPath">XPath selecting the element</param>
        /// <param name="textvalueType">Select innerText or innerXML</param>
        /// <param name="value">Returned string value</param>
        /// <param name="result">Returns a ReadFromItemResultEnum value</param>
        public void GetElemValueAsString(
            string xPath,
            ElementTextvalueTypeEnum textvalueType,
            out string value,
            out ReadFromItemResultEnum result)
        {
            value = string.Empty;
            result = ReadFromItemResultEnum.ok;
            if (string.IsNullOrEmpty(xPath))
            {
                result = ReadFromItemResultEnum.emptyXPath;
                return;
            }
            XmlNodeList foundXNL = XmlDoc.SelectNodes(xPath, NsMngr);
            if (foundXNL.Count == 0)
            {
                result = ReadFromItemResultEnum.targetNotFound;
                return;
            }
            if (foundXNL.Count > 1)
                result = ReadFromItemResultEnum.firstFromMultiple;

            switch (textvalueType)
            {
                case ElementTextvalueTypeEnum.innerText:
                    value = foundXNL[0].InnerText;
                    break;
                case ElementTextvalueTypeEnum.innerXML:
                    value = foundXNL[0].InnerXml;
                    break;
            }
        }
Пример #3
0
 // Code History:
 // 2014-02-24 mws
 // ******************************************************************************
 /// <summary>
 /// Gets one or more element(s)/property(ies) as XmlNodeList
 /// </summary>
 /// <param name="xPath">XPath selecting the element(s)</param>
 /// <param name="resultXNL">Returned XmlNodeList</param>
 /// <param name="result">Returns a ReadFromItemResultEnum value</param>
 public void GetElemsAsXNodeList(
     string xPath,
     out XmlNodeList resultXNL,
     out ReadFromItemResultEnum result)
 {
     resultXNL = null;
     result = ReadFromItemResultEnum.ok;
     if (string.IsNullOrEmpty(xPath))
     {
         result = ReadFromItemResultEnum.emptyXPath;
         return;
     }
     resultXNL = XmlDoc.SelectNodes(xPath, NsMngr);
 }
Пример #4
0
        // Code History:
        // 2014-02-26 mws
        // ******************************************************************************
        /// <summary>
        /// Gets all attributes of an element/property as Dictionary
        /// </summary>
        /// <param name="xPath">XPath selecting the element</param>
        /// <param name="dictionary">Returns the attributes as Dictionary of string key/value pairs</param>
        /// <param name="result">Returns a ReadFromItemResultEnum value</param>
        public void GetElemAttribsAsDictionary(
            string xPath,
            out Dictionary<string, string> dictionary,
            out ReadFromItemResultEnum result)
        {
            dictionary = new Dictionary<string, string>();
            result = ReadFromItemResultEnum.ok;
            if (string.IsNullOrEmpty(xPath))
            {
                result = ReadFromItemResultEnum.emptyXPath;
                return;
            }
            XmlNodeList foundXNL = XmlDoc.SelectNodes(xPath, NsMngr);
            if (foundXNL.Count == 0)
            {
                result = ReadFromItemResultEnum.targetNotFound;
                return;
            }
            if (foundXNL.Count > 1)
                result = ReadFromItemResultEnum.firstFromMultiple;

            XmlElement foundXE = (XmlElement)foundXNL[0];
            for (int idx = 0; idx < foundXE.Attributes.Count; idx++)
            {
                string attrName = foundXE.Attributes[idx].LocalName;
                string attrValue = foundXE.Attributes[idx].Value;
                dictionary.Add(attrName, attrValue);
            }
            if (!string.IsNullOrEmpty(foundXE.InnerText))
                dictionary.Add("thisValue", foundXE.InnerText);
        }
Пример #5
0
        // Code History:
        // 2014-02-24 mws
        // ******************************************************************************
        /// <summary>
        /// Gets an element/property as XmlElement
        /// </summary>
        /// <param name="xPath">XPath selecting the element</param>
        /// <param name="resultXE">Returned XmlElement</param>
        /// <param name="result">Returns a ReadFromItemResultEnum value</param>
        public void GetElemAsXE(
            string xPath,
            out XmlElement resultXE,
            out ReadFromItemResultEnum result)
        {
            resultXE = null;
            result = ReadFromItemResultEnum.ok;
            if (string.IsNullOrEmpty(xPath))
            {
                result = ReadFromItemResultEnum.emptyXPath;
                return;
            }
            XmlNodeList foundXNL = XmlDoc.SelectNodes(xPath, NsMngr);
            if (foundXNL.Count == 0)
            {
                result = ReadFromItemResultEnum.targetNotFound;
                return;
            }
            if (foundXNL.Count > 1)
                result = ReadFromItemResultEnum.firstFromMultiple;

            resultXE = (XmlElement)foundXNL[0];
        }
Пример #6
0
 // Code History:
 // 2010-12-31 mws
 // ******************************************************************************
 // ******************************************************************************
 /// <summary>
 /// Gets an attribute's value of an element/property as string
 /// </summary>
 /// <param name="xPath">XPath selecting the element</param>
 /// <param name="attribname">Name of the attributes</param>
 /// <param name="value">Returned string value</param>
 /// <param name="result">Returns a ReadFromItemResultEnum value</param>
 public void GetAttribValueAsString(
     string xPath,
     string attribname,
     out string value,
     out ReadFromItemResultEnum result)
 {
     value = string.Empty;
     result = ReadFromItemResultEnum.ok;
     if (string.IsNullOrEmpty(xPath))
     {
         result = ReadFromItemResultEnum.emptyXPath;
         return;
     }
     if (string.IsNullOrEmpty(attribname))
     {
         result = ReadFromItemResultEnum.emptyXPath;
         return;
     }
     XmlNodeList foundXNL = XmlDoc.SelectNodes(xPath, NsMngr);
     if (foundXNL.Count == 0)
     {
         result = ReadFromItemResultEnum.targetNotFound;
         return;
     }
     if (foundXNL.Count > 1)
         result = ReadFromItemResultEnum.firstFromMultiple;
     value = ((XmlElement) foundXNL[0]).GetAttribute(attribname);
 }
Пример #7
0
 // Code History:
 // 2010-12-31 mws
 // ******************************************************************************
 /// <summary>
 /// Gets an attribute's value of an element/property as int64
 /// </summary>
 /// <param name="xPath">XPath selecting the element</param>
 /// <param name="attribname">Name of the attributes</param>
 /// <param name="value">Returned int64 value</param>
 /// <param name="result">Returns a ReadFromItemResultEnum value</param>
 public void GetAttribValueAsInt64(
     string xPath,
     string attribname,
     out Int64 value,
     out ReadFromItemResultEnum result)
 {
     value = 0;
     string valueStr;
     GetAttribValueAsString(xPath, attribname, out valueStr, out result);
     if ((result == ReadFromItemResultEnum.ok) || (result == ReadFromItemResultEnum.firstFromMultiple))
     {
         try
         {
             value = Convert.ToInt64(valueStr);
         }
         catch
         {
             result = ReadFromItemResultEnum.valuetypeConversionFailed;
             value = 0;
         }
     }
     else
         return;
 }