0
我有我的iLO HP服務器生成的以下XML文件, 您有任何可以解析它的例子嗎?請參閱下面的示例XML文件。 我想從中提取風扇的速度和溫度。用Perl解析XML iLO響應文件
<?xml version="1.0"?>
<GET_EMBEDDED_HEALTH_DATA>
<FANS>
<FAN>
<LABEL VALUE = "Fan 1"/>
<ZONE VALUE = "System"/>
<STATUS VALUE = "Ok"/>
<SPEED VALUE = "81" UNIT="Percentage"/>
</FAN>
<FAN>
<LABEL VALUE = "Fan 2"/>
<ZONE VALUE = "System"/>
<STATUS VALUE = "Not Installed"/>
<SPEED VALUE = "n/a" UNIT="n/a"/>
</FAN>
<FAN>
<LABEL VALUE = "Fan 3"/>
<ZONE VALUE = "System"/>
<STATUS VALUE = "Ok"/>
<SPEED VALUE = "81" UNIT="Percentage"/>
</FAN>
<FAN>
<LABEL VALUE = "Fan 4"/>
<ZONE VALUE = "System"/>
<STATUS VALUE = "Not Installed"/>
<SPEED VALUE = "n/a" UNIT="n/a"/>
</FAN>
<FAN>
<LABEL VALUE = "Fan 5"/>
<ZONE VALUE = "CPU 1"/>
<STATUS VALUE = "Ok"/>
<SPEED VALUE = "81" UNIT="Percentage"/>
</FAN>
<FAN>
<LABEL VALUE = "Fan 6"/>
<ZONE VALUE = "CPU 2"/>
<STATUS VALUE = "Not Installed"/>
<SPEED VALUE = "n/a" UNIT="n/a"/>
</FAN>
</FANS>
<TEMPERATURE>
<TEMP>
<LABEL VALUE = "Temp 1"/>
<LOCATION VALUE = "Ambient"/>
<STATUS VALUE = "Ok"/>
<CURRENTREADING VALUE = "32" UNIT="Celsius"/>
<CAUTION VALUE = "40" UNIT="Celsius"/>
<CRITICAL VALUE = "45" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 2"/>
<LOCATION VALUE = "Memory"/>
<STATUS VALUE = "Ok"/>
<CURRENTREADING VALUE = "48" UNIT="Celsius"/>
<CAUTION VALUE = "110" UNIT="Celsius"/>
<CRITICAL VALUE = "120" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 3"/>
<LOCATION VALUE = "CPU 1"/>
<STATUS VALUE = "Ok"/>
<CURRENTREADING VALUE = "30" UNIT="Celsius"/>
<CAUTION VALUE = "100" UNIT="Celsius"/>
<CRITICAL VALUE = "100" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 4"/>
<LOCATION VALUE = "CPU 1"/>
<STATUS VALUE = "Ok"/>
<CURRENTREADING VALUE = "30" UNIT="Celsius"/>
<CAUTION VALUE = "100" UNIT="Celsius"/>
<CRITICAL VALUE = "100" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 5"/>
<LOCATION VALUE = "I/O Board"/>
<STATUS VALUE = "Ok"/>
<CURRENTREADING VALUE = "46" UNIT="Celsius"/>
<CAUTION VALUE = "63" UNIT="Celsius"/>
<CRITICAL VALUE = "68" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 6"/>
<LOCATION VALUE = "CPU 2"/>
<STATUS VALUE = "n/a"/>
<CURRENTREADING VALUE = "n/a" UNIT="n/a"/>
<CAUTION VALUE = "100" UNIT="Celsius"/>
<CRITICAL VALUE = "100" UNIT="Celsius"/>
</TEMP>
<TEMP>
<LABEL VALUE = "Temp 7"/>
<LOCATION VALUE = "CPU 2"/>
<STATUS VALUE = "n/a"/>
<CURRENTREADING VALUE = "n/a" UNIT="n/a"/>
<CAUTION VALUE = "100" UNIT="Celsius"/>
<CRITICAL VALUE = "100" UNIT="Celsius"/>
</TEMP>
</TEMPERATURE>
這不是有效的XML,它是真正返回的嗎?如果這是一個問題,請不要使用嚴格的解析器。 from xmllint: 語法分析器錯誤:標記GET_EMBEDDED_HEALTH_DATA行中的數據過早結束2 – MkV 2009-08-03 08:54:12
-1根據您的評論,很明顯,您有安裝問題,而不是解析問題。刪除此問題並開始另一個問題。 – lexu 2009-08-03 13:39:43