shell解析html文件,请问Powershell解析html的问题

该博客讨论了如何在PowerShell环境中处理TFS工作项中的HTML内容。作者提到,TFS以XML格式存储信息,包括HTML实体,需要进行解码以获取纯文本。解决方案涉及使用[System.Web.HttpUtility]::HtmlDecode方法来解码HTML,并提供了一个简单的脚本来演示如何提取和处理XML中的步骤和文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用Powershell的Microsoft服务器。 我要做的任务是获取并设置"测试用例"类型的给定工作项的"步骤"。

,TFS在XML文档中存储诸如 HTML HTML这样的信息,以避免HTML元素,从而避免使用 XML 。

下面是一个示例:

复制代码

I do this and that

I do something else

This happens

显示为:

630fb5958c1c39792454f6b5dc150763.png

如何获得每个项目的"纯文本"? 比如 This happens 离开了 

This happens

 我必须编写自己的解析器,还是已经经有一些可以以使用的解析器?

html

powershell

tfs

时间:17年09月18日原作者:jir 共1个回答

0 0

在 System.Web 命名空间中有一些可以帮助你的东西:

复制代码PS> add-type -AssemblyName system.web

PS> [System.Web.HttpUtility]::HtmlDecode("Baskin & Robbins")Baskin & Robbins

更新

我又读了你的问题,你想要的不止这个。 如果你不熟悉xml和html语义,那么这是一个有点复杂的问题,因这里这是一个脚本。 我希望你能根据需要修改它。

复制代码add-type -AssemblyName system.web

$raw = @'

I do this and that

I do something else

This happens

'@$xml = [xml]$raw

$xml.steps.step | foreach-object {

write-host ('Processing {0}...' -f $_.type)

$_.parameterizedString | foreach-object {

# decode html entities

$html = [System.Web.HttpUtility]::HtmlDecode($_.innerText)

# let's hope the html is balanced and valid xhtml (matching begin/end tags)

# assumption is that the innermost

wraps the desired text

# match with xpath

$text = ([xml]$html).SelectSingleNode('//P/text()').value

write-host"Text: '$text'"

}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值