当前位置: 首页 > news >正文

html加载图标的xpath位置,在格式不正确的HTML中使用XPath查找节点(或...

XPath表达式无法再次针对格式不正确的XML文档进行评估,这正是上述情况.

可以通过两个链接的步骤来完成此操作,第一步是将HTML转换为格式正确的XML,然后是第二步-应用XPath表达式.

因此,该问题可以更精确地表述为“如何将HTML转换为XML,以便可以针对它评估XPath表达式”.

这里有两个很好的工具:

> TagSoup,一个开源程序,是由John Cowan开发的基于Java和SAX的工具.这是一种用Java编写的SAX兼容解析器,它不解析格式正确或有效的XML,而是对找到的HTML进行解析.在野外:贫穷,肮脏和野蛮,尽管常常离短缺很远. TagSoup是为需要使用某种合理的应用程序设计来处理这些东西的人设计的.通过提供SAX接口,它甚至可以将标准XML工具应用于最差的HTML. TagSoup还包括一个命令行处理器,该处理器可以读取HTML文件,并可以生成干净的HTML或格式良好的XML(与XHTML极为相似).

Taggle是TagSoup的商业C端口.

> SgmlReader是由Microsoft的Chris Lovett开发的工具.

SgmlReader是任何SGML文档(包括对HTML的内置支持)上的XmlReader API.还提供了一个命令行实用程序,用于输出格式正确的XML结果.

下载包含独立可执行文件和完整源代码的zip文件:SgmlReader.zip

>由David Carlisle编写的The pure XSLT 2.0 Parser of HTML.阅读其代码对于我们每个人来说都是不错的学习练习.

根据描述:

“ d:htmlparse(字符串)

?d:htmlparse(字符串,命名空间,html模式)

一个参数形式等效于)

??d:htmlparse(string,’http://ww.w3.org/1999/xhtml‘,true()))

使用一些内置的试探法将字符串解析为HTML和/或XML)

??控制隐式元素的打开和关闭.

它没有HTML DTD的全部知识,但确实有HTML DTD的完整列表

??空元素和实体定义的完整列表. HTML实体,以及

??十进制和十六进制字符引用均被接受.注意html-entities

??即使html-mode = false()也可以识别.

元素名称是小写的(如果html-mode为true())并放在

??名称空间参数指定的名称空间(可以用“”表示

??除非输入具有明确的名称空间声明,否则为no-namespace,在

??在这种情况下,这些将得到兑现.

如果html-mode = true()“,属性名称将小写

阅读更详细的描述here.

相关文章:

  • html 布局 id class,不使用class和id进行网页布局的方法
  • html画布模板,html2canvas.js
  • 川信计算机组装维护,凉山州中学生技能大赛信息技术类竞赛总结
  • 计算机应用基础_在线作业_e,计算机应用基础_在线作业_E.doc
  • 会计电算化的过程 实质上是用计算机,河南电大会计学专科《社会实践(会专)》(教考一体化)网上考试试题及答案...
  • html輸出excel,Javascript HTML表單table輸出Excel
  • 论计算机网络犯罪结论,论计算机网络犯罪的立法建议
  • asp无法word转html,word转html实现预览(asp.net)
  • 计算机用户传递计算设备成为,高考试卷
  • 计算机二级的公共基础课水平测试,计算机二级考试公共基础课.doc
  • 无法支持计算机上的硬件,win7“不支持的硬件,你的电脑使用的处理器专为最新版win...
  • html 复制 速卖通,速卖通实用技能 : 1分钟跨店铺复制新版运费模板
  • 北京交通大学计算机学院研究生2019年录取,北京交通大学2019年考研复试分数线...
  • 计算机学院请假管理系统,《计算机学院在校学生离校请销假管理暂行规定》
  • 计算机硬盘灯不亮,解决办法:如果计算机硬盘驱动器指示灯不亮,该怎么办?解决电脑硬盘指示灯不亮的问题_IT / computer_资料...
  • 分享一款快速APP功能测试工具
  • 【React系列】如何构建React应用程序
  • C++类的相互关联
  • Flannel解读
  • go append函数以及写入
  • Golang-长连接-状态推送
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JAVA之继承和多态
  • JS变量作用域
  • Puppeteer:浏览器控制器
  • React-flux杂记
  • Redux 中间件分析
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 和 || 运算
  • 解析 Webpack中import、require、按需加载的执行过程
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 学习使用ExpressJS 4.0中的新Router
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 用element的upload组件实现多图片上传和压缩
  • Hibernate主键生成策略及选择
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​什么是bug?bug的源头在哪里?
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (2)MFC+openGL单文档框架glFrame
  • (9)STL算法之逆转旋转
  • (c语言)strcpy函数用法
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)Linq学习笔记
  • (转)linux 命令大全
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET 设计一套高性能的弱事件机制
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态