2012-04-19 17 views
3

Webサービス(vinquery.com)からXML結果を解析しようとすると、通常、値はキー名の間にあります。ハローしかし、返されたXMLは次のとおりです。jQueryとXMLを解析する最善の方法

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<VINquery Version="1.0.0" Report_Type="BASIC" Date="1/19/2012"> 
    <VIN Number="1ZVFT80N475337065" Status="SUCCESS"> 
     <Vehicle VINquery_Vehicle_ID="32627" Model_Year="2007" Make="Ford" Model="Mustang" Trim_Level="V6 Deluxe Coupe"> 
      <Item Key="VINquery_Vehicle_ID" Value="32627" Unit="" /> 
      <Item Key="Model Year" Value="2007" Unit="" /> 
      <Item Key="Make" Value="Ford" Unit="" /> 
      <Item Key="Model" Value="Mustang" Unit="" /> 
      <Item Key="Trim Level" Value="V6 Deluxe Coupe" Unit="" /> 
      <Item Key="Manufactured in" Value="UNITED STATES" Unit="" /> 
      <Item Key="Production Seq. Number" Value="337065" Unit="" /> 
      <Item Key="Body Style" Value="COUPE 2-DR" Unit="" /> 
      <Item Key="Engine Type" Value="4.0L V6 SOHC 12V" Unit="" /> 
      <Item Key="Transmission-short" Value="5A | 5M" Unit="" /> 
      <Item Key="Transmission-long" Value="5-Speed Automatic | 5-Speed Manual" Unit="" /> 
      <Item Key="Driveline" Value="RWD" Unit="" /> 
      <Item Key="Tank" Value="16.00" Unit="gallon" /> 
      <Item Key="Fuel Economy-city" Value="18 - 19" Unit="miles/gallon" /> 
      <Item Key="Fuel Economy-highway" Value="26 - 28" Unit="miles/gallon" /> 
      <Item Key="Anti-Brake System" Value="Non-ABS | 4-Wheel ABS" Unit="" /> 
      <Item Key="Steering Type" Value="R&amp;P" Unit="" /> 
      <Item Key="Standard Seating" Value="4" Unit="" /> 
      <Item Key="Optional Seating" Value="No data" Unit="" /> 
      <Item Key="Length" Value="187.60" Unit="in." /> 
      <Item Key="Width" Value="74.00" Unit="in." /> 
      <Item Key="Height" Value="54.50" Unit="in." /> 
     </Vehicle> 
</VIN> 
</VINquery> 

$(xml)またはその他を使用して言うItem Key="Body Style"の値を取得するための最も効率的な方法は何ですか?

ありがとうございます!

+1

をあなたがしたことを意味しますかjQueryの自動bultin XML解析を試して、パフォーマンス上の問題がありましたか? –

+0

私の答えとリンクを見てください。 –

答えて

0

jQuery.parseXML():http://api.jquery.com/jQuery.parseXML/

var xmlDoc = $.parseXML(xmlstring);  
    $xml = $(xmlDoc);  
    $(xml).find("Item").each(function() { 
     if ($(this).attr("Key") == "Body Style") 
     { 
      alert($(this).attr("Value"));  
     } 
    } 
+0

完璧なので、私はこのフォーラムが大好きです – user1343850

0

特にattributeEqualsフィルタ、属性フィルタを使用します。

$("node[Key='Bob Style']"); 
0

http://jsbin.com/ukahum/edit#javascript,html

var x='<VINquery Version="1.0.0" Report_Type="BASIC" Date="1/19/2012">\ 
    <VIN Number="1ZVFT80N475337065" Status="SUCCESS">\ 
     <Vehicle VINquery_Vehicle_ID="32627" Model_Year="2007" Make="Ford" Model="Mustang" Trim_Level="V6 Deluxe Coupe">\ 
      <Item Key="VINquery_Vehicle_ID" Value="32627" Unit="" />\ 
      <Item Key="Model Year" Value="2007" Unit="" />\ 
      <Item Key="Make" Value="Ford" Unit="" />\ 
      <Item Key="Model" Value="Mustang" Unit="" />\ 
      <Item Key="Trim Level" Value="V6 Deluxe Coupe" Unit="" />\ 
      <Item Key="Manufactured in" Value="UNITED STATES" Unit="" />\ 
      <Item Key="Production Seq. Number" Value="337065" Unit="" />\ 
      <Item Key="Body Style" Value="COUPE 2-DR" Unit="" />\ 
      <Item Key="Engine Type" Value="4.0L V6 SOHC 12V" Unit="" />\ 
      <Item Key="Transmission-short" Value="5A | 5M" Unit="" />\ 
      <Item Key="Transmission-long" Value="5-Speed Automatic | 5-Speed Manual" Unit="" />\ 
      <Item Key="Driveline" Value="RWD" Unit="" />\ 
      <Item Key="Tank" Value="16.00" Unit="gallon" />\ 
      <Item Key="Fuel Economy-city" Value="18 - 19" Unit="miles/gallon" />\ 
      <Item Key="Fuel Economy-highway" Value="26 - 28" Unit="miles/gallon" />\ 
      <Item Key="Anti-Brake System" Value="Non-ABS | 4-Wheel ABS" Unit="" />\ 
      <Item Key="Steering Type" Value="R&amp;P" Unit="" />\ 
      <Item Key="Standard Seating" Value="4" Unit="" />\ 
      <Item Key="Optional Seating" Value="No data" Unit="" />\ 
      <Item Key="Length" Value="187.60" Unit="in." />\ 
      <Item Key="Width" Value="74.00" Unit="in." />\ 
      <Item Key="Height" Value="54.50" Unit="in." />\ 
     </Vehicle>\ 
</VIN>\ 
</VINquery>'; 

alert($(x).find("Item[Key='Body Style']").attr('Value')); 
関連する問題