Leonardo Lima
Leonardo Lima

Reputation: 646

Get XML field value javascript

I have the following XML, it's coming as string from a request. How can I get the capital value (Washington, DC Paris)?

<Country>
    <USA>
    <Capital>"Washington, D.C"</Capital>
    </USA>
    <France>
    <Capital>"Paris"</Capital>
    </France>
</Country>

Upvotes: 1

Views: 999

Answers (2)

Vikas
Vikas

Reputation: 7175

Adding the answer with jquery. With jquery it can be easily done as,

var text = `<Country>
    <USA>
    <Capital>"Washington, D.C"</Capital>
    </USA>
    <France>
    <Capital>"Paris"</Capital>
    </France>
</Country>`;
$(text).find("Capital").each(function(){
console.log($(this).text());
    }); 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Upvotes: 1

mplungjan
mplungjan

Reputation: 178094

Use a DomParser :

var xml = `<Country>
    <USA>
    <Capital>"Washington, D.C"</Capital>
    </USA>
    <France>
    <Capital>"Paris"</Capital>
    </France>
</Country>`

var parser = new DOMParser();
var doc = parser.parseFromString(xml, "application/xml");
doc.querySelectorAll('Capital').forEach(
  (cap) => console.log(cap.textContent));

Upvotes: 4

Related Questions