-
xpath array
Hello,
have some XML parsing problem.
In
[url]http://wiki.forum.nokia.com/index.php/WidSets_for_Intermediate_EP_2_:_HTTP_with_XML_Filter[/url]
it is described how to parse something like this:
[CODE]<userdata>
<name>Sittiphol Phanvilai</name>
<namethai>สิทธิพล พรรณวิไล</namethai>
<address>
<city>Bangkok</city>
<state>-</state>
<country>Thailand</country>
</address>
<pet type="Dog" name="Richie"/>
</userdata>[/CODE]
But what can i do if i have a list?
[CODE]<usertable>
<userdata1>
<name>Sittiphol Phanvilai</name>
<xyz>sdsdsd</xyz>
</userdata1>
<userdata2>
<name>Sittiphol Phanvilai</name>
<xyz>sdsdsd</xyz>
</userdata2>
</usertable>[/CODE]
I tried something like this but i didnt work:
[CODE]<filters>
<filter id="xpathfilter">
<list>
<foreach>
<xpath>/usertable/*</xpath>
<item>
<name><xpath>name()</xpath></name>
<value>
<list>
<foreach>
<xpath>/magazin/*</xpath>
<item>
<name><xpath>/usertable/*name()</xpath></name>
<value><xpath>/usertable/*text()</xpath></value>
</item>
</foreach>
</list>
</value>
</item>
</foreach>
</list>
</filter>
</filters>[/CODE]
It doesnt work :-(
At the end i want to get this array:
usertable(userdata1 => (name = "aaa", xyz = "sdsd"), userdata1 => (name = "aaa", xyz = "sdsd"));
So that I can use: usertable[userdata1][name] ...
I'm looking forward to a solution, worked 3 hours now and I'm very sad :-(
Greetz Yuri
-
Re: xpath array
Hello, it should work like this:
[code]
<filter id="httpcontent">
<list>
<foreach>
<xpath>/usertable/*</xpath>
<list>
<name><xpath>name()</xpath></name>
<value>
<foreach>
<xpath>*</xpath>
<item>
<name><xpath>name()</xpath></name>
<value><xpath>text()</xpath></value>
</item>
</foreach>
</value>
</list>
</foreach>
</list>
</filter>
[/code]
However due to bug in xpath-implementation name() will contain extra [] characters so you need to remove them either in the filter using xpath substring or regex, or in your script code ;(
Personally I don't use xpath so often so whenever I need to use it I need to learn it again ;) However I have used following sites as reference:
[url]http://www.w3schools.com/Xpath/[/url]
[url]http://www.dpawson.co.uk/xsl/sect2/sect21.html[/url] (this is really for xslt but still contains a lot of advanced xpath stuff)
/render
-
Re: xpath array
Hey thanks, thats what I needed :-)
Greetz from Germany