2010-11-26 5 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

のですか? – Hunter

+1

** **そのXMLのどの部分またはコンテンツを保存しますか? XMLを単一のデータベースフィールドに格納したいのですか、またはXMLをリレーショナルデータの行に「シュレッド」したいですか?あなたのテーブルはどのように見えるのですか?私たちがあなたを手伝うためには、少なくとも**いくつかのコンテキスト**を提供する必要があります! –

答えて

0

ソリューションは、あなたがMS SQL、Oracleの、私のSQLを使用しているデータベースに言及でし

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は本当にうまく設計されていないと思います。各fuel_typeとそのレートを「燃料」要素にグループ化することは、より論理的です。