Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将ParsedHTML分配到Powershell中的数组中_Html_Powershell_Parsing - Fatal编程技术网

如何将ParsedHTML分配到Powershell中的数组中

如何将ParsedHTML分配到Powershell中的数组中,html,powershell,parsing,Html,Powershell,Parsing,我使用invokewebrequest将页面拉入变量$content中。然后,我将$content.ParsedHtml.getElementsByTagName的结果分配给另一个变量$x$x[1]返回几行HTML。但是,我无法将HTML行解析为数组 $content = Invoke-WebRequest -Uri $Uri $x = $content.ParsedHtml.getElementsByTagName('TR') $x[1].outerHTML 如果我把HTML写进一个文本文件

我使用invokewebrequest将页面拉入变量$content中。然后,我将$content.ParsedHtml.getElementsByTagName的结果分配给另一个变量$x$x[1]返回几行HTML。但是,我无法将HTML行解析为数组

$content = Invoke-WebRequest -Uri $Uri
$x = $content.ParsedHtml.getElementsByTagName('TR')
$x[1].outerHTML

如果我把HTML写进一个文本文件,我就可以把它读回数组,但我希望跳过这一步。如果有人有任何建议,我们将不胜感激

我尝试了以下似乎有效的方法(我已经包括了我测试的URL)

每个
和标记之间的所有内容都将成为数组中的一个条目

实际上,只需扩展outerHTML并将其强制转换为一个数组

$uri = "https://www.w3schools.com/html/html_tables.asp"
$content = Invoke-WebRequest -Uri $Uri
[array]$x = $content.ParsedHtml.getElementsByTagName('TR') | select -ExpandProperty outerHTML

找到了一个解决方案,但我愿意接受任何关于备选答案的建议: 这对我来说很有用:

$z = $x[1].innerHTML.ToString() -split([Environment]::NewLine)

感谢所有我收到的输入。

看起来您正在尝试读取web表。根据我的经验,要做到这一点可能相当困难。你会认为有一个简单的方法,但是。。。不管怎么说,李·霍姆斯(Lee Holmes)开发了一个工具,我在过去几年中使用过很多次,它完全符合我认为你正在尝试的。我无法准确地告诉您如何在不查看数据的情况下获取特定情况下的数据,但该实用程序非常简单。感谢Brendan-一定会查看您链接的文章。该站点是否有可能通过wsdl/rest api将您需要的数据输出?都德-我就像一个完全的n00b。我真的不知道。lol@n00b...we“我都去过那里。看看Lee Holmes(一个每个n00b都应该学习的名字)能帮你走多远。如果你有问题,写代码并发回,你想要的是什么,但你会找到答案的。此外,请记住向上/向下投票,否则请给出有用的答案!我们赞赏以下几点:)感谢您的回复$x[n](在我的例子中)返回几行HTML。我遇到的问题是获取$x[n]的内容,然后将其加载到一个新数组中。