Ausgabe einer Sammlung mit Powershell und htmlAgilityPack

html-agility-pack powershell powershell-v2.0

Frage

Erstens, ja, ich bin ein Anfänger zu Scripting und Powershell, da dies schmerzhaft offensichtlich werden wird. In meinen Versuchen, zu lernen, habe ich mit einem Skript von hier gearbeitet: http://www.leeholmes.com/blog/2010/03/05/html-agility-pack-rocks-your-screen-scraping-world/

Das habe ich bisher:

add-type -Path 'C:\Program Files (x86)\htmlAgilityPack\HtmlAgilityPack.dll'
$doc = New-Object HtmlAgilityPack.HtmlDocument 
$result = $doc.Load("C:\scipts\test.html") 
$texts = $doc.DocumentNode.SelectNodes("//table[@class='dataTable']/tbody/tr/td[1]/a[1]") 
$result = $texts | % {
$testText = $_
$Platform = $testtext.innertext
New-Object PsObject -Property @{ Platform = $Platform} | Select Platform 
}
$result | Sort Platform | out-string

Dies gibt mir die Gegenstände, nach denen ich suche.

* Die Herausforderung *

Ich versuche, diese Ausgabe in eine Variable als eine einzelne Zeichenfolge mit jedem Element, gefolgt von einem Komma, zu bekommen. für Beispiel Item1, Item2, Item 3 etc ...

Jede Hilfe oder Erklärung wäre willkommen, da ich mich selbst mit den Augen gegoogelt habe und die Dinge, die ich finde, nicht unbedingt ertragen muss.

Vielen Dank!

Akzeptierte Antwort

Aus der Powershell-Hilfe ( get-help about_join ):

Das folgende Diagramm zeigt die Syntax für den Join-Operator.

<String[]> -Join <Delimiter>

Um Ihr Problem zu lösen, müssen Sie:

  1. Erstellen Sie ein Array von Zeichenfolgen, die die Zeichenfolgen enthalten, denen Sie beitreten möchten:

    $arrayofstrings = $result | Sort Platform | foreach-object {$_.Platform}
    
  2. Verknüpfen Sie die Zeichenfolgen mit einem Komma als Trennzeichen:

    $joinedstring = $arrayofstrings -join ", "
    

$joinedstring enthält Item1, Item2, Item3



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum