Dan
Dan

Reputation: 112

Conditional XPath on multiple elements

I am trying to use xpath to set an exchange property from the value of one element, depending on what the value is in another element...

So in my case i want an xpath to identify the PartyID where the RoleCode = 60. And another xpath expression to find the PartyID for where the RoleCode = Z60.

I would have used [1] etc but the send cannot guarantee the order the segments will be in.

Help is much appreciated!

<RegisteredProductCollection>
    <RegisteredProduct>
        <Status>1</Status>
        <AddressLine2>test</AddressLine2>
        <AddressLine1>37</AddressLine1>
        <RegisteredProductPartyInformation>
            <RegisteredProductPartyInformation>
                <PartyID>9000028253</PartyID>
                <RoleCode>60</RoleCode>
            </RegisteredProductPartyInformation>
            <RegisteredProductPartyInformation>
                <PartyID>1288219</PartyID>
                <RoleCode>Z60</RoleCode>
            </RegisteredProductPartyInformation>
        </RegisteredProductPartyInformation>
        <PostalCode>3200</PostalCode>
        <Country>NZ</Country>
        <ProductID>G02411</ProductID>
        <SerialID>1234124124</SerialID>
        <City>test</City>
        <ReferenceDate>20200514000000</ReferenceDate>
        <District>wai</District>
    </RegisteredProduct>
</RegisteredProductCollection>

Upvotes: 0

Views: 48

Answers (1)

zx485
zx485

Reputation: 29052

You can use these XPath-1.0 expressions:

//RegisteredProductPartyInformation[RoleCode='60']/PartyID

and

//RegisteredProductPartyInformation[RoleCode='Z60']/PartyID

Change the ' to " if necessary.

Upvotes: 1

Related Questions