How do I use the XML Advanced Connector to return cdata?
The data I'm trying to pull in is from a URL and every piece of data is wrapped in cdata tags so Domo isn't recognizing it or returning any data. Is there a way I can pull this in?
Here is a sample of how the data is set up in the XML:
<allData> <unit> <Name> <![CDATA[ Group A ]]> </Name> <number> <![CDATA[ 123456789 ]]> </number> <Code> <![CDATA[ 87654321 ]]> </Code> <Title> <![CDATA[ This is a title ]]> </Title> </unit> <unit> <Name> <![CDATA[ Group B ]]> </Name> <number> <![CDATA[ 223456780 ]]> </number> <Code> <![CDATA[ 98765432 ]]> </Code> <Title> <![CDATA[ This is another title ]]> </Title> </unit> </allData>
Best Answer
-
I figured out way to resolve this so sharing in case someone else has the same issue!
DO YOU REQUIRE ADDITIONAL OPTIONS? select Yes
ENTER XPATH EXPRESSION
The only XPATH expressions that would work for me was to specify the child nodes to import (example: //Name). I couldn't include the path (example: //allData/unit/Name would not work).
In order to get all the columns of data I wanted to pull in from the XML, I had to use this:
//*[self::Name | self::number | self::Code | self::Title ]Save, Run, then my columns and rows populated!
0
Answers
-
Hi Jessy,
Have you tried all three built-in Parsers?You may need to use the X Path functionality that's under the 'additional options' drop-down in the details section of your connector. The link below may be helpful to you as well - I am not able to recreate your problem because we don't have an example dataset.
Hope this helps!
Samantha
Brought to you by Arigato Analytics.
0 -
Hi Samantha, thank you for your response!
I have tried all three parsers and each return the columns (example: "allData_unit_Name", "allData_unit_number", etc) but not the rows of data.
As far as utilizing the xpath field goes, I have tried several combinations of things like the below but none have worked:
- //allData/unit/text()
- //allData/unit/Name/text()
- //*/*/*/text()
- //text()
- etc.
Every example I'm finding online is only for returning one child node with Cdata, not multiple as in my example above. Is that possibly why the solution you linked to isn't working for me?
0 -
I figured out way to resolve this so sharing in case someone else has the same issue!
DO YOU REQUIRE ADDITIONAL OPTIONS? select Yes
ENTER XPATH EXPRESSION
The only XPATH expressions that would work for me was to specify the child nodes to import (example: //Name). I couldn't include the path (example: //allData/unit/Name would not work).
In order to get all the columns of data I wanted to pull in from the XML, I had to use this:
//*[self::Name | self::number | self::Code | self::Title ]Save, Run, then my columns and rows populated!
0
Categories
- All Categories
- 1.7K Product Ideas
- 1.7K Ideas Exchange
- 1.5K Connect
- 1.2K Connectors
- 295 Workbench
- 6 Cloud Amplifier
- 8 Federated
- 2.8K Transform
- 97 SQL DataFlows
- 608 Datasets
- 2.1K Magic ETL
- 3.8K Visualize
- 2.4K Charting
- 710 Beast Mode
- 49 App Studio
- 39 Variables
- 667 Automate
- 170 Apps
- 446 APIs & Domo Developer
- 44 Workflows
- 7 DomoAI
- 33 Predict
- 13 Jupyter Workspaces
- 20 R & Python Tiles
- 391 Distribute
- 111 Domo Everywhere
- 274 Scheduled Reports
- 6 Software Integrations
- 115 Manage
- 112 Governance & Security
- Domo Community Gallery
- 31 Product Releases
- 9 Domo University
- 5.3K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 103 Community Announcements
- 4.8K Archive