Good Day!
We would like to seek help on managing multiple values within a single XML attribute.

        <title>type Title here</title>
        <description>type Description here</description>
        <platform>Java, .NET, Mainframe</platform>
        <lifecycle>Custom Development</lifecycle>
        <servicegroup>System Integration (SI), Technology Consulting (TC)</servicegroup>

With the above sample xml, as you may notice, <platform> does have 3 values; (1) Java, (2) .NET and (3) Mainframe. We were able to load them separately.

NOTE: We have 4 filters; (1) stage, (2) platform, (3) lifecycle and (4) servicegroup.

PROBLEM: When we try to filter the platform and servicegroup.

Scenario#1, we selected "Java" in the platform filter and use "where" condition.

RESULT: It loads those items that has <platform>Java</platform> only and does not include <platform>Java, .NET, Mainframe</platform>. [BAD RESULT]

Scenario#2, we selected "Java" in the platform filter and use "like" condition.

RESULT: It loads all items that has <platform>Java</platform> and include <platform>Java, .NET, Mainframe</platform>. [GOOD RESULT]

But the catch in using "like" condition is that it conflicts with platform values for "Oracle"...

 <platform>Oracle - PeopleSoft</platform>
 <platform>Oracle - Retek</platform>
 <platform>Oracle - Siebel</platform>

Oracle - PeopleSoft, Oracle - Retek and Oracle - Siebel are different to each other. So, what if I selected "Oracle" for platform filter? We expected items which only have <platform>Oracle</platform> and not all of those items that has "Oracle".

Any help appreciated.

Could you try, a 'contains' condition?

This will allow you to match specific strings within the node.

Not sure how your implementing the condition so cant suggest code until I know that. But contains should do the job :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.