本文整理汇总了C#中HtmlAgilityPack.HtmlNode.HasAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlNode.HasAttribute方法的具体用法?C# HtmlNode.HasAttribute怎么用?C# HtmlNode.HasAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlAgilityPack.HtmlNode
的用法示例。
在下文中一共展示了HtmlNode.HasAttribute方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parse
//.........这里部分代码省略.........
// Step 10: Incomplete triples and bnode creation
if (rels.IsNotNull() && rels.Count > 0)
{
if (inlist.IsNotNull())
{
foreach (var prop in rels)
{
if (!listMapping.ContainsKey(prop))
{
listMapping.Add(prop, new List<string>());
}
}
}
else
{
incompleteRels = rels;
}
}
if (revs.IsNotNull() && revs.Count > 0)
{
incompleteRevs = revs;
}
}
// Step 11: establish current property value
if (subject.IsNotNull() && property.IsNotNull())
{
bool dateTime = false;
var dto = new RDFConstructDto();
if (dataType.IsNotNull())
dataType = _processor.ResolveCURIE(dataType, context.Base, prefixMappings);
if (elementNode.Name == "data" && elementNode.HasAttribute("value"))
{
dto.Object = elementNode.GetAttributeValue("value", null);
}
else if (elementNode.HasAttribute("datetime"))
{
dto.Object = elementNode.GetAttributeValue("datetime", null);
dateTime = true;
}
else if (dataType == "")
{
dto.Object = elementNode.InnerText;
dto.DataType = Constants.LiteralDataType;
}
else if (content.IsNotNull())
{
dto.Object = content;
}
else if (dataType.IsNull() && rels.IsEmpty() && revs.IsEmpty())
{
dto.Object = (new List<string> { resource, href, src }).FirstNonEmptyOrDefault();
dto.DataType = Constants.UriDataType;
}
if (dto.Object.IsNull() && typedResource.IsNotNull() && about.IsNull())
{
dto.DataType = Constants.UriDataType;
dto.Object = typedResource;
}
if (dto.Object.IsNull())
{
示例2: UpdateDefaultVocabulary
public string UpdateDefaultVocabulary(ParserContext context, HtmlNode elementNode)
{
if (elementNode.HasAttribute("vocab"))
{
string vocab = elementNode.GetAttributeValue("vocab", string.Empty);
if (!string.IsNullOrEmpty(vocab))
{
ConstructTriple(new RDFConstructDto
{
Subject = context.Base,
Predicate = "rdfa:usesVocabulary",
Object = vocab,
DataType = Constants.UriDataType,
});
context.DefaultVocabulary = vocab;
return vocab;
}
}
return context.DefaultVocabulary;
}
示例3: UpdatePrefixMappings
public IDictionary<string, string> UpdatePrefixMappings(ParserContext context, HtmlNode elementNode)
{
if (elementNode.HasAttribute(Constants.Prefix_RDFaAttribute))
{
var mappings = new Dictionary<string, string>(context.PrefixMappings);
string[] splits = Regex.Split(elementNode.GetAttribute(Constants.Prefix_RDFaAttribute).Value, "\\s+");
int i = 0;
while (i < splits.Length)
{
var prefix = splits[i].Split(':')[0];
var url = splits[i + 1];
if (prefix == "_")
{
continue;
}
if (!string.IsNullOrEmpty(prefix) && !mappings.ContainsKey(prefix))
{
mappings.Add(prefix, url);
}
i += 2;
}
if (mappings.Count > context.PrefixMappings.Count)
context.PrefixMappings = mappings;
}
return context.PrefixMappings;
}