简体   繁体   中英

Select data from xml API with Javascript

I have a problem with selecting data from an XML API with Javascript. I want to select the 3 jobs describtions that matching to an ID for example i want only to get jobs descriptions where the ID = 126701 how can i do that? note: the jobsdescription Tag contain <![CDATA[something]]> . For more information you can see the attached pictures. Thank you for your support

<workzag-jobs>
<position>
<id>126701</id>
<office>Worms</office>
<department>IT</department>
<recruitingCategory>Festangestellte</recruitingCategory>
<name>IT Administartor</name>
<jobDescriptions>
<jobDescription>
<name>WAS DU MACHEN WIRST</name>
<value>
<![CDATA[
<span style="font-family:Arial, Helvetica, sans-serif;">Eine leistungsgerechte Bezahlung. Natürlich inklusive sozialer Zusatzleistungen./li&gt;</span><ul><li>Ein unbefristetes Arbeitsverhältnis. Nach Ablauf der Probezeit, versteht sich.</li><li>Flexibles Arbeiten im Rahmen eines Vertrauensarbeitszeitmodells.</li><li>Agile Organisationstrukturen. Schnelle Entscheidungswege. Flache Hierarchien.</li><li>Vielfältige Weiterbildungsmöglichkeiten. Aber auch spannende Entwicklungschancen.</li><li>Kollegen, die Dich mit offenen Armen begrüßen. Bei der Arbeit ebenso wie bei unseren Firmenevents.</li></ul><br>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.<br><br>Wir freuen uns auf Deine Nachricht!
]]>
</value>
</jobDescription>
<jobDescription>
<name>WAS DU MITBRINGST</name>
<value>
<![CDATA[
<em>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.</em>
]]>
</value>
</jobDescription>
<jobDescription>
<name>WAS WIR DIR BIETEN</name>
<value>
<![CDATA[
<ul><li>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.</li><li>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.</li><li>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.</li><li>Nutz Deine Chance und starte mit PackEx beruflich durch. Schick einfach Deine Bewerbungsunterlagen inkl. Gehaltsvorstellung und nächstmöglichem Eintrittstermin.</li></ul>
]]>
</value>
</jobDescription>

Attached Picture 1

Attached Picture 2

You can use DomParser to read the XML and the a querySelectorAll and querySelector to find the elements with the correct id:

const ID = "126701";
const domparser = new DOMParser();
const xmlDoc = domparser.parseFromString(data, "text/xml");
const positions = Array.from(xmlDoc.querySelectorAll("position")).filter(
  node => {
    return node.querySelector("id").innerHTML === ID;
  }
);

See working example on CodeSandbox

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM