Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
i'm using XmlSlurper to get a value from an XML-Response. I copied the response to local String here for easier testing purposes. I need to get the value from jobReqId which is 506 in this case. If I use
println: jobReqId.name();
i'm getting the correct node-name (jobReqId). If i'm using
println jobReqId
or
println jobReqId.text();
i'm just getting empty String. Someone has an idea?
def body = """<JobApplicationAssessmentOrder>
<JobApplicationAssessmentOrder>
<jobApplication>
<JobApplication>
<applicationTemplateId>562</applicationTemplateId>
<lastModifiedDateTime>2020-05-28T11:43:47.000</lastModifiedDateTime>
<rating>-1</rating>
<source>1</source>
<agencyInfo />
<reference />
<usersSysId />
<cust_instr2 />
<cust_instr6 />
<cust_instr7 />
<timeToHire />
<currentEmployer />
<formerEmployee>false</formerEmployee>
<homePhone />
<phoneScreenDate />
<candComment />
<ownershpDate />
<firstName>Alex</firstName>
<lastModifiedByProxy />
<anonymizedDate />
<statusComments />
<applicationId>382</applicationId>
<candidateId>324</candidateId>
<dataSource>User Entered</dataSource>
<status>Open</status>
<lastName>K</lastName>
<candTypeWhenHired />
<hiredOn />
<phoneScreenDetails />
<sourceLabel>Corporate Site</sourceLabel>
<disabilityStatus />
<profileUpdated>0</profileUpdated>
<duplicateProfile>0</duplicateProfile>
<cust_SourceName />
<countryCode>DE</countryCode>
<averageRating>-1</averageRating>
<owner />
<jobReqId>506</jobReqId>
<contactEmail>alex@gmx.de</contactEmail>
<jobAppGuid />
<lastModifiedBy>USER</lastModifiedBy>
<nonApplicantStatus>Applied</nonApplicantStatus>
<resumeUploadDate />
<appStatusSetItemId>762</appStatusSetItemId>
<exportedOn />
<candConversionProcessed />
<referenceComments />
<anonymizedFlag>0</anonymizedFlag>
<referredBy />
<middleName />
<appLocale>de_DE</appLocale>
<cellPhone>2314</cellPhone>
<snapShotDate>2020-05-28T11:42:21.000</snapShotDate>
</JobApplication>
</jobApplication>
</JobApplicationAssessmentOrder>
</JobApplicationAssessmentOrder>"""
def xmlBody = new XmlSlurper().parseText(body);
def jobReqId = xmlBody.JobApplicationAssessmentOrder.JobApplicationAssessmentOrder.jobApplication.JobApplication.jobReqId;
println jobReqId
Your xmlBody is in the same position as the first JobApplicationAssessmentOrder node.
If you do this it works:
def jobReqId = xmlBody.JobApplicationAssessmentOrder.jobApplication.JobApplication.jobReqId
This is a common mistake, to prevent it, I always do it this way:
def JobApplicationAssessmentOrder = new XmlSlurper().parseText(body)
def jobReqId = JobApplicationAssessmentOrder.JobApplicationAssessmentOrder.jobApplication.JobApplication.jobReqId
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.