Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in NYC Sept 4th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to extract string between tags from an XML file

Hi all,
I am trying to extract text between two tags of an xml file, but with negative results.
This is the xml structure and I need to extract the contents of the body, for some post processing.
<soap:Envelope>
<soap:Header>
...
</soap:Header>
<soap:Body>
<ns1:Response>
<Object id="id:1234567890">
....
</Object>
</ns1:Response>
</soap:Body>
</soap:Header>
</soap:Envelope>

I'm using the command tExtractXMLField, and these component properties:
- Property Type: Built-In
- Schema Type: Built-In
- XML field: Body
- Loop XPath query: "/Envelope/Body/*"
- Mapping: Column XPath query
Body "Body"
- Schema: Column Type ...
Body String ...
What's wrong? Probably wrong with the "Loop XPath query"?
Thanks in advance
Nic
Labels (4)
6 Replies
Anonymous
Not applicable
Author

Hi
As a newbie, I would suggest you to use metadata manager to create a XML metadata follows the wizards, refer to Setting up an XML schema for an input file.
Here the Loop Xpath query should be:
"/soap:Envelope/soap:Body"
Shong
Anonymous
Not applicable
Author

Hi Shong,
first of all thanks for your response. The script xml I posted, is a soap response.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<capabilities xmlns=........</capabilities>
</soapenv:Header>
<soapenv:Body>
<ibisag:queryRegObjResponse xsi:schemaLocation=.........>
<regObj id="id:obj:a1b2c3d4" objType="type:obj:abc0000">
<rim:Slot name="Author" xmlns:rim=.......>
<rim:ValueList>
<rim:Value>MyName</rim:Value>
</rim:ValueList>
</rim:Slot>
...
...
<rim:Slot name="email" xmlns:rim=".......>
<rim:ValueList>
<rim:Value>a@b.com</rim:Value>
</rim:ValueList>
</rim:Slot>
</registryObject>
</ibisag:queryRegistryRegObjResponse>
</soapenv:Body>
</soapenv:Envelope>

My goal is to extract the contents of the tag email ... I did some testing with an xml file with "simple" tag (without namespace, etc.) and it works, unfortunately I can not with this structure .. would you help me please?
thank you so much
Nic
Anonymous
Not applicable
Author

Hi
You can extract the value of a element or an attribute, for example, you can extract the value
MyName
a@b.com
from the element rim:Value, rather than the whole content under the element <soapenv:Body>.
Can you please email me an exmaple of your soap response and let me know what data would you like to extract?
Shong
Anonymous
Not applicable
Author

Hi
You can extract the value of a element or an attribute, for example, you can extract the value
MyName
a@b.com
from the element rim:Value, rather than the whole content under the element <soapenv:Body>.
Can you please email me an exmaple of your soap response and let me know what data would you like to extract?
Shong

Email sent...
thanks
Anonymous
Not applicable
Author

Hi Shong,
did you get my email?
Anonymous
Not applicable
Author

Hi shong,
I want to remind you, when you can, to read my email.
Thanks for your interest.
Nic