Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] парсинг XML файла (http://forum.oszone.net/showthread.php?t=237741)

dosperados 02-07-2012 18:44 1944485

парсинг XML файла
 
Есть задача вытащить из XML все пути до файлов...
Файл содержищий информацию о погоде (качаю его http://www.google.com/ig/api?weather=[город])
нужно получить все значения поля "icon data"
Пробовал разными способами это сделать...
Получилось достать только первое значение этого поля, как в цикле вытащить все не могу понять...
помогите
ниже код который я смог написать
Код:

#загрузка файла
[string]$sity = "kemerovo"
[string]$source = "http://www.google.com/ig/api?weather="+$sity
[string]$destination = "c:\temp\"+$sity+".xml"
$userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;)"
$wc = New-Object System.Net.WebClient
$wc.Headers.Add("user-agent", $userAgent)
$wc.DownloadFile($source, $destination)
 # обработка XML
[xml]$doc = get-content $destination
$settings = @()
$settings = $doc.selectnodes('/xml_api_reply/weather/current_conditions/icon')

пробовал и так
Код:

$xml = [xml](get-content 'c:\temp\kemerovo.xml')
$xml.SelectNodes('//current_conditions/icon')
$xml.xml_api_reply.weather.forecast_conditions

и так пытался
Код:

Select-xml -path "c:\temp\kemerovo.xml" -xpath "//current_conditions"
Select-xml -path "c:\temp\kemerovo.xml" -xpath "xml_api_reply/weather/current_conditions/icon"


Kazun 02-07-2012 20:53 1944577

$sity = "kemerovo"
$source = "http://www.google.com/ig/api?weather="+$sity
$xml = [xml](New-Object Net.WebClient).DownloadString($source)
"current","forecast" | %{ $xml.GetElementsByTagName("$_`_conditions")| %{$_.icon.data}}

или

$xml.GetElementsByTagName("icon") | Foreach {$_.data}

Foreigner 02-07-2012 21:02 1944585

Цитата:

Цитата dosperados
нужно получить все значения поля "icon data" »

Код:

$xml=new-object xml
$xml.load("http://www.google.com/ig/api?weather=Moscow")

$xml.xml_api_reply.weather.current_conditions.icon | % { $_.data }

$xml.xml_api_reply.weather | % {

    $_.forecast_conditions | % { $_.icon.data }
   
}



Время: 16:09.

Время: 16:09.
© OSzone.net 2001-