我擁有具有不同節點和屬性的巨大xml文件。我用grep -c
來計算具有特定類型的產品。這裏是我迄今所做的:根據元素屬性在命令行中拆分xml文件
grep -c "</products>" products.xml // output : 200023
grep -c '<product type="cloths"' products.xml // output : 8039
所以我需要提取與型布料如在new.xml文件樹中的所有產品無所有其他屬性,這樣我可以導入new.xml文件導入數據庫:
<?xml version="1.0"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd">
<catalog>
<product type="cloths" product_image="cardigan.jpg">
<catalog_item gender="Men's">
<item_number>QWZ5671</item_number>
<price>39.95</price>
<size description="Medium">
<color_swatch image="red_cardigan.jpg">Red</color_swatch>
<color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
</size>
<size description="Large">
<color_swatch image="red_cardigan.jpg">Red</color_swatch>
<color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
</size>
</catalog_item>
<catalog_item gender="Women's">
<item_number>RRX9856</item_number>
<price>42.50</price>
<size description="Small">
<color_swatch image="red_cardigan.jpg">Red</color_swatch>
<color_swatch image="navy_cardigan.jpg">Navy</color_swatch>
<color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
</size>
<size description="Medium">
<color_swatch image="red_cardigan.jpg">Red</color_swatch>
<color_swatch image="navy_cardigan.jpg">Navy</color_swatch>
<color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
<color_swatch image="black_cardigan.jpg">Black</color_swatch>
</size>
<size description="Large">
<color_swatch image="navy_cardigan.jpg">Navy</color_swatch>
<color_swatch image="black_cardigan.jpg">Black</color_swatch>
</size>
<size description="Extra Large">
<color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
<color_swatch image="black_cardigan.jpg">Black</color_swatch>
</size>
</catalog_item>
</product>
</catalog>
XSLT對此非常理想。這對你來說是一種選擇嗎? – kjhughes
不幸的是,我沒有XSLT的龐大的文件,我有。不知道是否有任何方法來生成這樣的文件!對於XML世界來說很抱歉。謝謝 – Mtaly
爲您的任務編寫XSLT會很簡單。如果你有XSLT代碼,你能運行XSLT嗎? – kjhughes