xmllint xpath query sample
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Enter XML as a heredoc, pipe it to xmllint, and run an XPath query. | |
cat <<EOF | xmllint --xpath /catalog/product[@type=\"cloths\"] - | |
<?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> | |
EOF | |
# Output: | |
# <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> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment