I am writing an internal application to monitor our Amazon listed products and am stuck with the Amazon Product Advertising API (amazon-ecs) Ruby gem. I would like to display on the screen the browse nodes similar to this:
"root category" -> all sub categories -> final category (the actual category the item is in)
<BrowseNode>
<BrowseNodeId>770071031</BrowseNodeId>
<Name>Robotic Vacuums</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>125698031</BrowseNodeId>
<Name>Vacuums</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3147711</BrowseNodeId>
<Name>Vacuums & Floor Care</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3576359031</BrowseNodeId>
<Name>Vacuuming, Cleaning & Ironing</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>391784011</BrowseNodeId>
<Name>Kitchen & Home Appliances</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3147411</BrowseNodeId>
<Name>Categories</Name>
<IsCategoryRoot>1</IsCategoryRoot>
<Ancestors>
<BrowseNode>
<BrowseNodeId>11052681</BrowseNodeId>
<Name>Kitchen & Home</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>11052591</BrowseNodeId>
<Name>Home & Garden</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>3146281</BrowseNodeId>
<Name>Home & Garden</Name>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
So the above should be displayed as:
Home & Garden -> Kitchen & Home -> Kitchen & Home Appliances -> Vacuuming, Cleaning & Ironing -> Vacuums & Floor Care -> Vacuums
I have tried get_array
, and get_hash
but these all return a value of just one long string.
Is there a way to easily do what i want to do using the amazon-ecs gem or should I process the string as XML and try to loop though this accordingly?