次の形式の XML オブジェクトが多数あります。
<GetSingleItemResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2012-10-25T03:09:50.817Z</Timestamp>
<Ack>Success</Ack>
<Build>E795_CORE_BUNDLED_15430047_R1</Build>
<Version>795</Version>
<Item>
<Description>...</Description>
<ItemID>330810813385</ItemID>
<EndTime>2012-10-25T04:32:37.000Z</EndTime>
<Location>Paypal Prefered</Location>
<GalleryURL>...</GalleryURL>
<PictureURL>...</PictureURL>
<PictureURL>...</PictureURL>
<PrimaryCategoryID>177</PrimaryCategoryID>
<PrimaryCategoryName>
Computers/Tablets & Networking:Laptops & Netbooks:PC Laptops & Netbooks
</PrimaryCategoryName>
<BidCount>2</BidCount>
<ConvertedCurrentPrice currencyID="USD">294.99</ConvertedCurrentPrice>
<ListingStatus>Active</ListingStatus>
<TimeLeft>PT1H22M47S</TimeLeft>
<Title>
HP Compaq ZD8000 3800Mhz Full Loaded Ready to go, nice unit & super fast Laptop
</Title>
<ShippingCostSummary>
<ShippingServiceCost currencyID="USD">23.99</ShippingServiceCost>
<ShippingType>Flat</ShippingType>
<ListedShippingServiceCost currencyID="USD">23.99</ListedShippingServiceCost>
</ShippingCostSummary>
<ItemSpecifics>
<NameValueList>
<Name>Operating System</Name>
<Value>Windows XP Professional</Value>
</NameValueList>
<NameValueList>
<Name>Screen Size</Name>
<Value>17.0</Value>
</NameValueList>
<NameValueList>
<Name>Processor Type</Name>
<Value>Intel Pentium 4 HT</Value>
</NameValueList>
</ItemSpecifics>
<Country>US</Country>
<AutoPay>false</AutoPay>
<ConditionID>2500</ConditionID>
<ConditionDisplayName>Seller refurbished</ConditionDisplayName>
</Item>
</GetSingleItemResponse>
各 xml オブジェクトについて、itemid、endtime などのすべてのアイテム タグ タグと、オペレーティング システム、画面サイズなどのすべてのアイテム固有のタグ タグを取得したいと考えています。これを各 xml オブジェクトのメモリに適切なデータ構造 (オブジェクト) に格納します。最後に、すべての xml オブジェクトのすべての情報を csv ファイルに書き込みたいと思います。
難しいのは、csv ファイルの列 (ヘッダー) がどうなるかわからないということです。最初の xml オブジェクトでは、アイテムとアイテムの詳細を組み合わせたサブタグの数と同じ数の列を作成します。
次に、新しいアイテムに新しい列が表示されるたびに列を追加し、以前に表示されていない列に NA を追加します。
xml オブジェクトを処理する方法、xml オブジェクトを変換 (保存) するデータ構造、および最終的に処理されたすべての xml データを csv ファイルに書き込む方法についてのアドバイスを探しています。
ありがとう。