XML auslesen mit JavaScript

29/02/2008 - 09:14 von Christian Havel | Report spam
Hi,

ich erhalte nachstehendes XML (es können mehrere Abschnitte "BusinessEntity"
vorkommen) und möchte prüfen, ob ein "BusinessEntity"-Abschnitt mit einem
bestimmten Wert von Name (z.B. "Kundenservicemitarbeiter") vorkommt. Wie
mache ich dies in JavaScript?

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RetrieveMultipleResult EntityName="role" MoreRecords="0" PagingCookie=""
xmlns="http://schemas.microsoft.com/crm/20...">
<BusinessEntities>
<BusinessEntity xmlns:q1="http://schemas.microsoft.com/crm/20...ices"
xsi:type="q1:role">
<q1:modifiedon date="22.02.2008"
time="10:49">2008-02-22T10:49:57+01:00</q1:modifiedon>
<q1:createdon date="22.02.2008"
time="10:49">2008-02-22T10:49:57+01:00</q1:createdon>
<q1:roletemplateid>{ECFD0B44-5720-45E3-AE68-417DDB0FB654}</q1:roletemplateid>
<q1:name>Kundenservicemitarbeiter</q1:name>
<q1:roleid>{16D2A085-2BE1-DC11-8700-000C290F9D1A}</q1:roleid>
<q1:organizationid>{85AF53F2-72CB-489C-997D-6B565B5237D0}</q1:organizationid>
<q1:businessunitid dsc="0"
name="Irgendwas">{15D2A085-2BE1-DC11-8774-000C290F9D1A}</q1:businessunitid>
</BusinessEntity>
</BusinessEntities>
</RetrieveMultipleResult>
</soap:Body>
</soap:Envelope

Christian
 

Lesen sie die antworten

#1 Martin Honnen
29/02/2008 - 14:02 | Warnen spam
Christian Havel wrote:

ich erhalte nachstehendes XML (es können mehrere Abschnitte "BusinessEntity"
vorkommen) und möchte prüfen, ob ein "BusinessEntity"-Abschnitt mit einem
bestimmten Wert von Name (z.B. "Kundenservicemitarbeiter") vorkommt. Wie
mache ich dies in JavaScript?



Hier ist ein Beispiel für JavaScript mit IE6/7, es wird MSXML 3 benutzt,
das XML-Dokument wird asynchron geladen, dann wird XPath mit
selectSingleNode benutzt, um das Element zu suchen:

var doc = new ActiveXObject('Msxml2.DOMDocument.3.0');
doc.onreadystatechange = function () {
if (doc.readyState == 4) {
doc.setProperty('SelectionLanguage', 'XPath');
doc.setProperty('SelectionNamespaces',
'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ' +
'xmlns:q1="http://schemas.microsoft.com/crm/20...ices"');
var businessEntity =
doc.selectSingleNode('soap:Envelope/soap:Body/q1:RetrieveMultipleResult/q1:BusinessEntities/q1:BusinessEntity[q1:name
= "Kundenservicemitarbeiter"]');
if (businessEntity != null) {
alert('Gefunden');
}
else {
alert('Nicht gefunden');
}
}
};
doc.load('file.xml');



Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen