コード例 #1
0
        static Objects.XPathItem LoadXPathItem(XDocument doc, string tagName)
        {
            var nd   = doc.Root.Element(tagName);
            var item = new Objects.XPathItem();

            item.XPath = nd.Value;
            if (nd.Attribute("attribute") != null)
            {
                item.AttributeName = nd.Attribute("attribute").Value;
            }
            return(item);
        }
コード例 #2
0
        string GetNodeInnerTextOrAttributeValue(HtmlNode parentNode, Objects.XPathItem item)
        {
            var nd = parentNode.SelectSingleNode(item.XPath);

            if (!string.IsNullOrEmpty(item.AttributeName))
            {
                if (!nd.Attributes.Any(x => x.Name.Equals(item.AttributeName, StringComparison.OrdinalIgnoreCase)))
                {
                    return(null);
                }
                return(nd.Attributes[item.AttributeName].Value);
            }
            else
            {
                return(nd.InnerText);
            }
        }