Mor*_*ive 3 macos bash xpath xmllint
我试图在各种html文件中解析mac上特定标签之间的文本.我正在寻找<H1>身体的第一个标题.例:
<BODY>
<H1>Dublin</H1>
Run Code Online (Sandbox Code Playgroud)
使用正则表达式我相信是反模式所以我使用xmllint和xpath代替.
xmllint --nowarning --xpath '/HTML/BODY/H1[0]'
Run Code Online (Sandbox Code Playgroud)
问题是某些HTML文件包含格式错误的标签.所以我得到了错误
parser error : Opening and ending tag mismatch: UL line 261 and LI
</LI>
Run Code Online (Sandbox Code Playgroud)
问题是我不能这样做,2>/dev/null因为那时我完全放弃了这些文件.有什么办法,我可以在这里使用一个XPath表达式,然后说,如果XML不完美就放松一下,只需给出前H1标题之间的值?
尝试--html选项.否则,xmllint将文档解析为XML,这比HTML要严格得多.另请注意,XPath索引是基于1的,并且在解析时HTML标记会转换为小写.命令
xmllint --html --xpath '/html/body/h1[1]' - <<EOF
<BODY>
<H1>Dublin</H1>
EOF
Run Code Online (Sandbox Code Playgroud)
版画
<h1>Dublin</h1>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3380 次 |
| 最近记录: |