2010-11-26 19 views
-1
<FILE> 
<TITLE> Final Fuel Tax Rates </TITLE> 
<QUARTER>1Q2010</QUARTER> 
<RECORD> 
<JURISDICTION ID="#16">AB</JURISDICTION> 
<COUNTRY>CAN</COUNTRY> 
<FUEL_TYPE>Gasoline</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>Special Diesel</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>Gasohol</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>Propane</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.2323</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0650</RATE> 
<FUEL_TYPE>LNG</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.0000</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0000</RATE> 
<FUEL_TYPE>CNG</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.0000</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0000</RATE> 
<FUEL_TYPE>Ethanol</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>Methanol</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>E-85</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>M-85</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>A55</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
<FUEL_TYPE>Biodiesel</FUEL_TYPE> 
<RATE COUNTRY="US" RATECHANGE="0">0.3217</RATE> 
<RATE COUNTRY="CAN" RATECHANGE="0">0.0900</RATE> 
</RECORD> 
<RECORD> 
+1

難道你提到你正在使用MS SQL,甲骨文的數據庫,我SQL? – Hunter 2010-11-26 11:38:06

回答

0

的解決方案是

XmlDocument _xmlDoc = new XmlDocument(); 
_xmlDoc.Load(@"C:\Users\AppData\Local\Temp\ry.xml"); 

string _xml = _xmlDoc.InnerXml; 

FILE _fileObj = (FILE)DeSerialize(_xml, typeof(FILE)); 

if (_fileObj != null && _fileObj.RECORD != null && _fileObj.RECORD.Count > 0) 
{ 
    foreach (FILERECORD _record in _fileObj.RECORD) 
    { 
     _record.JURISDICTION[0].Value; 
     int i = 0; 
     foreach (FILERECORDFUEL_TYPE _fuelType in _record.FUEL_TYPE) 
     { } 
    } 
} 
0

某些SQL DB支持XML類型(可以在某些單元格中放置一些XML)。 PostgreSQL有這個例子。標準的SQL/XML範圍在數據庫中有一些關於XML的內容。無論如何,您可能希望將XML存儲爲一個大的二進制對象(或者事件爲一個大字符串...)。我不知道這是你所問的。

如果您想對XML進行查詢,某些SQL DB可以使用XPath從XML類型中提取信息。否則,您必須映射數據庫中的數據,這很可能是您想要的,但與XML無關,但與SQL模式設計有關。

哦,我認爲XML的設計不是很好。將每種燃料類型及其燃料比率分成「燃料」元素會更合乎邏輯。

相關問題