Nickon
Nickon

Reputation: 10156

Use XPath with condition to get array values from XML

I would like to get data from EventParameters array using XPath, but I don't know how to get a parameter where Name is equal to something... Could anyone help me?

<?xml version="1.0" encoding="utf-16"?>
<Event>
    <EventParameters>
        <Parameter>
            <Name>PKAN_ID</Name>
            <Value>2466</Value>
        </Parameter>
        <Parameter>
            <Name>REPS_ID</Name>
            <Value>4</Value>
        </Parameter>
        <Parameter>
            <Name>REPS_ID_OLD</Name>
            <Value>5</Value>
        </Parameter>
    </EventParameters>
</Event>

Upvotes: 0

Views: 588

Answers (1)

nwellnhof
nwellnhof

Reputation: 33658

Simply use a predicate on the Parameter element:

/Event/EventParameters/Parameter[Name='PKAN_ID']

This returns the parameter named PKAN_ID. To get its value:

/Event/EventParameters/Parameter[Name='PKAN_ID']/Value

Upvotes: 1

Related Questions