I am working on some Plesk integration using the XML API and I am trying to figure out how to parse the XML response that I get back. Most of the data is fine, but the http://download1.parallels.com/Plesk/PPP9/Doc/en-US/plesk-9.2-api-rpc/index.htm?fileName=28788.htm>Limits and Permissions are setout differently. Essentially they are set out like so:
<data>
<limits>
<limit>
<name>foo</name>
<value>bar</value>
</limit>
<limit>
<name>foo2</name>
<value>bar2</value>
</limit>
</limits>
</data>
How do I extract ‘bar’ from the xml given that I know I want the value of ‘foo’, but not the value of ‘foo2’?
2
Answers
If you know specifically what the “name” of the limit is going to be, you can use XPath for this. What you’re looking for is the “value” child node of any limit nodes where the name child node is “foo”. In XPath, this looks like:
This will return an array of nodes (since there can be multiple matches), so we need to handle the array. The whole example is: