Solved

Xpath 1.0 function for Exists

Posted on 2013-05-16
3
355 Views
Last Modified: 2013-05-21
I have the following XML:

        <A>
          <B>
            <Amount>5000</Amount>
            <Start>60</Start>
            <End>65</End>
          </B>
          <B>
            <Amount>3000</Amount>
            <Start>63</Start>
          </B>
	  <B>
            <Amount>1234</Amount>
            <Start>61</Start>
            <End>67</End>
          </B>
        </A>

Open in new window


I want to create two Xpath queries that return me the 'start' and 'end' elements for each B.
Problem is, I now end up with two arrays of different lengths: (60;63;61) and (65;67).
I want to be able to detect which B doesn't have an end-element.

Therefore I should use a function like 'exists' or something like that, but I can only use the Xpath 1.0 library.
Anybody that can help me with this?
0
Comment
Question by:adiemeer
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 39170796
//B[not(End)]
0
 

Author Comment

by:adiemeer
ID: 39170816
Thanks, this is helping me.
But how do I now construct the array of length 3? (With a dummy for the second element, f.i 65;999;67)
0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 500 total points
ID: 39170825
you can't do that purely in XPath1.
XPath1 is for addressing a node(set)
The construction of the array happens outside XPath1.
That is where you need to add a dummy

I suggest that you make an array of B nodes and pull out either End or default from it in constructing a second array, whichever programming language you are using

boils down to ... " what programming language are you using?"

you could have a pass using XSLT that introduces a End element having value 999
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Problem How to write an Xquery that works like a SQL outer join, providing placeholders for absent data on the outer side?  I give a bit more background at the end. The situation expressed as relational data Let’s work through this.  I’ve …
Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question