热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.htmlcleaner.HtmlCleaner.getOpenTags()方法的使用及代码示例

本文整理了Java中org.htmlcleaner.HtmlCleaner.getOpenTags()方法的一些代码示例,展示了HtmlCleaner.getOpenTags()的具体用法。这些代码示

本文整理了Java中org.htmlcleaner.HtmlCleaner.getOpenTags()方法的一些代码示例,展示了HtmlCleaner.getOpenTags()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HtmlCleaner.getOpenTags()方法的具体详情如下:
包路径:org.htmlcleaner.HtmlCleaner
类名称:HtmlCleaner
方法名:getOpenTags

HtmlCleaner.getOpenTags介绍

暂无

代码示例

代码示例来源:origin: fivesmallq/web-data-extractor

private boolean isAllowedInLastOpenTag(BaseToken token, CleanTimeValues cleanTimeValues) {
TagPos last = getOpenTags(cleanTimeValues).getLastTagPos();
if (last != null) {
if (last.info != null) {
return last.info.allowsItem(token);
}
}
return true;
}

代码示例来源:origin: amplafi/htmlcleaner

/**
* Checks if open fatal tag is missing if there is a fatal tag for
* the specified tag.
* @param tag
*/
private boolean isFatalTagSatisfied(TagInfo tag, CleanTimeValues cleanTimeValues) {
if (tag != null) {
String fatalTagName = tag.getFatalTag();
return fatalTagName == null ? true : getOpenTags(cleanTimeValues).tagExists(fatalTagName);
}
return true;
}

代码示例来源:origin: amplafi/htmlcleaner

private boolean isAllowedInLastOpenTag(BaseToken token, CleanTimeValues cleanTimeValues) {
TagPos last = getOpenTags(cleanTimeValues).getLastTagPos();
if (last != null) {
if (last.info != null) {
return last.info.allowsItem(token);
}
}
return true;
}

代码示例来源:origin: amplafi/htmlcleaner

private void saveToLastOpenTag(List nodeList, Object tokenToAdd, CleanTimeValues cleanTimeValues) {
TagPos last = getOpenTags(cleanTimeValues).getLastTagPos();
if ( last != null && last.info != null && last.info.isIgnorePermitted() ) {
return;
}
TagPos rubbishPos = getOpenTags(cleanTimeValues).findTagToPlaceRubbish();
if (rubbishPos != null) {
TagNode startTagToken = (TagNode) nodeList.get(rubbishPos.position);
startTagToken.addItemForMoving(tokenToAdd);
}
}

代码示例来源:origin: amplafi/htmlcleaner

/**
* Close all unclosed tags if there are any.
*/
private void closeAll(List nodeList, CleanTimeValues cleanTimeValues) {
TagPos firstTagPos = getOpenTags(cleanTimeValues).findFirstTagPos();
for (TagPos pos : getOpenTags(cleanTimeValues).list) {
properties.fireHtmlError(true, (TagNode)nodeList.get(pos.position), ErrorType.UnclosedTag);
}
if (firstTagPos != null) {
closeSnippet(nodeList, firstTagPos, null, cleanTimeValues);
}
}

代码示例来源:origin: fivesmallq/web-data-extractor

private void saveToLastOpenTag(List nodeList, Object tokenToAdd, CleanTimeValues cleanTimeValues) {
TagPos last = getOpenTags(cleanTimeValues).getLastTagPos();
//
// If we can simply ignore this token, then we remove it.
//
if (last != null && last.info != null && last.info.isIgnorePermitted()) {
return;
}
//
// Find an open tag where the token can live
//
TagPos rubbishPos = getOpenTags(cleanTimeValues).findTagToPlaceRubbish();
if (rubbishPos != null) {
TagNode startTagToken = (TagNode) nodeList.get(rubbishPos.position);
if (startTagToken != null) {
startTagToken.addItemForMoving(tokenToAdd);
return;
}
}
}

代码示例来源:origin: fivesmallq/web-data-extractor

/**
* Close all unclosed tags if there are any.
*/
private void closeAll(List nodeList, CleanTimeValues cleanTimeValues) {
TagPos firstTagPos = getOpenTags(cleanTimeValues).findFirstTagPos();
for (TagPos pos : getOpenTags(cleanTimeValues).list) {
if (Thread.currentThread().isInterrupted()) {
handleInterruption();
return;
}
properties.fireHtmlError(true, (TagNode) nodeList.get(pos.position), ErrorType.UnclosedTag);
}
if (firstTagPos != null) {
closeSnippet(nodeList, firstTagPos, null, cleanTimeValues);
}
}

代码示例来源:origin: amplafi/htmlcleaner

/**
* Check if specified tag requires parent tag, but that parent
* tag is missing in the appropriate context.
* @param tag
*/
private boolean mustAddRequiredParent(TagInfo tag, CleanTimeValues cleanTimeValues) {
if (tag != null) {
String requiredParent = tag.getRequiredParent();
if (requiredParent != null) {
String fatalTag = tag.getFatalTag();
int fatalTagPositon = -1;
if (fatalTag != null) {
TagPos tagPos = getOpenTags(cleanTimeValues).findTag(fatalTag);
if (tagPos != null) {
fatalTagPositon = tagPos.position;
}
}
// iterates through the list of open tags from the end and check if there is some higher
ListIterator it = getOpenTags(cleanTimeValues).list.listIterator( getOpenTags(cleanTimeValues).list.size() );
while ( it.hasPrevious() ) {
TagPos currTagPos = (TagPos) it.previous();
if (tag.isHigher(currTagPos.name)) {
return currTagPos.position <= fatalTagPositon;
}
}
return true;
}
}
return false;
}

代码示例来源:origin: fivesmallq/web-data-extractor

/**
* Checks if open fatal tag is missing if there is a fatal tag for
* the specified tag.
*
* @param tag
*/
private boolean isFatalTagSatisfied(TagInfo tag, CleanTimeValues cleanTimeValues) {
boolean fatal = true;
if (tag != null) {
if (tag.getFatalTags().isEmpty()) return true;
fatal = false;
for (String fatalTagName : tag.getFatalTags()) {
if (getOpenTags(cleanTimeValues).tagExists(fatalTagName)) {
fatal = true;
}
}
}
return fatal;
}

代码示例来源:origin: fivesmallq/web-data-extractor

private void reopenBrokenNode(ListIterator nodeIterator, TagNode toReopen, CleanTimeValues cleanTimeValues) {
TagNode closedByPresidence = toReopen;
TagNode copy = closedByPresidence.makeCopy();
copy.setAutoGenerated(true);
copy.removeAttribute("id");
nodeIterator.add(copy);
getOpenTags(cleanTimeValues).addTag(closedByPresidence.getName(), nodeIterator.previousIndex());
}

代码示例来源:origin: amplafi/htmlcleaner

private void reopenBrokenNode(ListIterator nodeIterator, TagNode toReopen, CleanTimeValues cleanTimeValues) {
TagNode closedByPresidence = toReopen;
TagNode copy = closedByPresidence.makeCopy();
copy.setAutoGenerated(true);
copy.removeAttribute("id");
nodeIterator.add(copy);
getOpenTags(cleanTimeValues).addTag(closedByPresidence.getName(), nodeIterator.previousIndex());
}

代码示例来源:origin: fivesmallq/web-data-extractor

for (String fatalTag : tag.getFatalTags()) {
if (fatalTag != null) {
TagPos tagPos = getOpenTags(cleanTimeValues).findTag(fatalTag);
if (tagPos != null) {
fatalTagPosition = tagPos.position;
for (String requiredTag : tag.getRequiredParentTags()) {
if (requiredTag != null) {
TagPos currTagPos = getOpenTags(cleanTimeValues).findTag(requiredTag);
if (currTagPos != null) {
requiredTagMissing = currTagPos.position <= fatalTagPosition;
ListIterator it = getOpenTags(cleanTimeValues).list.listIterator(getOpenTags(cleanTimeValues).list.size());
while (it.hasPrevious()) {
TagPos currTagPos = (TagPos) it.previous();

代码示例来源:origin: fivesmallq/web-data-extractor

getOpenTags(cleanTimeValues).removeTag(newTagNode.getName());
tagNode = newTagNode;
} else {

代码示例来源:origin: amplafi/htmlcleaner

getOpenTags(cleanTimeValues).removeTag( newTagNode.getName() );
tagNode = newTagNode;
} else {

代码示例来源:origin: fivesmallq/web-data-extractor

TagPos matchingPosition = getOpenTags(cleanTimeValues).findTag(tagName);
TagInfo tag = getTagInfo(tagName, cleanTimeValues);
TagPos lastTagPos = getOpenTags(cleanTimeValues).isEmpty() ? null : getOpenTags(cleanTimeValues).getLastTagPos();
TagInfo lastTagInfo = lastTagPos == null ? null : getTagInfo(lastTagPos.name, cleanTimeValues);
closeSnippet(nodeList, lastTagPos, startTagToken, cleanTimeValues);
nodeIterator.previous();
} else if (tag != null && tag.hasPermittedTags() && getOpenTags(cleanTimeValues).someAlreadyOpen(tag.getPermittedTags())) {
nodeIterator.set(null);
} else if (tag != null && tag.isUnique() && getOpenTags(cleanTimeValues).tagEncountered(tagName)) {
nodeIterator.set(null);
properties.fireHtmlError(true, startTagToken, ErrorType.UniqueTagDuplicated);
getOpenTags(cleanTimeValues).addTag(tagName, nodeIterator.previousIndex());
if (getOpenTags(cleanTimeValues).getLastTagPos() == null) {
cleanTimeValues._headTags.add(new ProxyTagNode((CommentNode) token, cleanTimeValues.bodyNode));

代码示例来源:origin: amplafi/htmlcleaner

} else {
TagPos matchingPosition = getOpenTags(cleanTimeValues).findTag(tagName);
TagInfo tag = getTagInfoProvider().getTagInfo(tagName);
TagPos lastTagPos = getOpenTags(cleanTimeValues).isEmpty() ? null : getOpenTags(cleanTimeValues).getLastTagPos();
TagInfo lastTagInfo = lastTagPos == null ? null : getTagInfoProvider().getTagInfo(lastTagPos.name);
closeSnippet(nodeList, lastTagPos, startTagToken, cleanTimeValues);
nodeIterator.previous();
} else if ( tag != null && tag.hasPermittedTags() && getOpenTags(cleanTimeValues).someAlreadyOpen(tag.getPermittedTags()) ) {
nodeIterator.set(null);
} else if ( tag != null && tag.isUnique() && getOpenTags(cleanTimeValues).tagEncountered(tagName) ) {
nodeIterator.set(null);
properties.fireHtmlError(true, startTagToken, ErrorType.UniqueTagDuplicated);
getOpenTags(cleanTimeValues).addTag( tagName, nodeIterator.previousIndex() );
if (getOpenTags(cleanTimeValues).getLastTagPos()==null) {
cleanTimeValues._headTags.add(new ProxyTagNode((CommentNode)token, cleanTimeValues.bodyNode));

推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
author-avatar
手机用户2502884601
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有