2017-02-07 25 views
1

使用CMD批處理文件,我想讀取標籤內容的簡單方法pano_id從這個XML文件到一個變量:讀取分隔的文本文件的部分插入變量CMD

<?xml version="1.0" encoding="UTF-8" ?><panorama><data_properties image_width="13312" image_height="6656" tile_width="512" tile_height="512" image_date="2015-05" pano_id="_1OPn-SzCb5SkjEENmq7Pg" scene="1" imagery_type="5" level_id="5d4d985b8a990000" num_zoom_levels="5" lat="29.813101" lng="34.942808" original_lat="29.813101" original_lng="34.942808" elevation_wgs84_m="645.826720" elevation_egm96_m="629.255798"><copyright>© 2017 Google</copyright><text>Israel National Trail: Timna Lake to Be’er Metek</text><country>Israel</country></data_properties><projection_properties projection_type="spherical" pano_yaw_deg="124.649994" tilt_yaw_deg="-67.56" tilt_pitch_deg="6.0899997"/><annotation_properties><link yaw_deg="303.69" pano_id="_PGTJI1Vr6P4lSTHuegprQ" road_argb="0x80fdf872"><link_text></link_text></link><link yaw_deg="121.09" pano_id="Ip1M1lvUUebjfR0WEEbM0g" road_argb="0x80fdf872"><link_text></link_text></link></annotation_properties></panorama> 

對於例如,變量%panorama%將被設置爲_1OPn-SzCb5SkjEENmq7Pg

我該怎麼做?謝謝。

+2

我強烈建議切換到這種類型的PowerShell ... PowerShell本身與XML工作。 –

+0

或Vbscript或Jscript。 – Squashman

回答

1

嘗試xpath.bat - 它可以從XML通過XPath表達式使用僅限於Windows內置的功能中提取值:

for /f "tokens=* delims=" %%# in ('xpath.bat "xml.xml" "//data_properties/@pano_id"') do ( 
    set "panorama=%%~#" 
) 
echo %panorama% 

您應該確保XML編碼是真的utf-8否則解析將會失敗。