Frage zu JavaScript + XML

Castor_Troy

Grünschnabel
Hi hätte eine Frage bzgl. wich ich per Javascript und selectSingleNode einen bestimmten Knoten erreiche:

XMLfile:

Code:
<?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>
    <ExecuteResponse xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
      <Response xsi:type="RetrieveEntityResponse">
        <EntityMetadata>
          <MetadataId>608861bc-50a4-4c5f-a02c-21fe1943e2cf</MetadataId>
          <SchemaName>Contact</SchemaName>
          <LogicalName>contact</LogicalName>
          <ObjectTypeCode formattedvalue="2">2</ObjectTypeCode>
          <DisplayName>
            <LocLabels>
              <LocLabel>
                <Label>Kontakt</Label>
                <LanguageCode formattedvalue="1.031">1031</LanguageCode>
              </LocLabel>
            </LocLabels>
            <UserLocLabel>
              <Label>Kontakt</Label>
              <LanguageCode formattedvalue="1.031">1031</LanguageCode>
            </UserLocLabel>
          </DisplayName>
          <DisplayCollectionName>
            <LocLabels>
              <LocLabel>
                <Label>Kontakte</Label>
                <LanguageCode formattedvalue="1.031">1031</LanguageCode>
              </LocLabel>
            </LocLabels>
            <UserLocLabel>
              <Label>Kontakte</Label>
              <LanguageCode formattedvalue="1.031">1031</LanguageCode>
            </UserLocLabel>
          </DisplayCollectionName>
          <Description>
            <LocLabels>
              <LocLabel>
                <Label>Person, mit der eine Unternehmenseinheit eine Geschäftsbeziehung unterhält, wie z.B. ein Kunde, ein Lieferant und ein Kollege.</Label>
                <LanguageCode formattedvalue="1.031">1031</LanguageCode>
              </LocLabel>
            </LocLabels>
            <UserLocLabel>
              <Label>Person, mit der eine Unternehmenseinheit eine Geschäftsbeziehung unterhält, wie z.B. ein Kunde, ein Lieferant und ein Kollege.</Label>
              <LanguageCode formattedvalue="1.031">1031</LanguageCode>
            </UserLocLabel>
          </Description>
          <IsCustomEntity>false</IsCustomEntity>
          <IsCustomizable>true</IsCustomizable>
          <IsAvailableOffline>true</IsAvailableOffline>
          <IsIntersect>false</IsIntersect>
          <CanTriggerWorkflow>true</CanTriggerWorkflow>
          <WorkflowSupport formattedvalue="15">15</WorkflowSupport>
          <DuplicateDetection>true</DuplicateDetection>
          <IsMailMergeEnabled>true</IsMailMergeEnabled>
          <IsImportable>true</IsImportable>
          <IsChildEntity>false</IsChildEntity>
          <ReportViewName>FilteredContact</ReportViewName>
          <PrimaryField>fullname</PrimaryField>
          <PrimaryKey>contactid</PrimaryKey>
          <OwnershipType>
            <Value>UserOwned</Value>
          </OwnershipType>
          <Attributes>
            <Attribute xsi:type="StringAttributeMetadata">
              <MetadataId>ddddbf82-ab85-494d-b0f2-007f18a9bb89</MetadataId>
              <SchemaName>Address2_Line2</SchemaName>
              <LogicalName>address2_line2</LogicalName>
              <EntityLogicalName>contact</EntityLogicalName>
              <AttributeType>
                <Value>String</Value>
              </AttributeType>
              <DisplayName>
                <LocLabels>
                  <LocLabel>
                    <Label>Adresse 2: Straße 2</Label>
                    <LanguageCode formattedvalue="1.031">1031</LanguageCode>
                  </LocLabel>
                </LocLabels>
                <UserLocLabel>
                  <Label>Adresse 2: Straße 2</Label>
                  <LanguageCode formattedvalue="1.031">1031</LanguageCode>
                </UserLocLabel>
              </DisplayName>
              <Description>
                <LocLabels>
                  <LocLabel>
                    <Label>Zweite Zeile für die Eingabe von Informationen für 'Adresse 2'.</Label>
                    <LanguageCode formattedvalue="1.031">1031</LanguageCode>
                  </LocLabel>
                </LocLabels>
                <UserLocLabel>
                  <Label>Zweite Zeile für die Eingabe von Informationen für 'Adresse 2'.</Label>
                  <LanguageCode formattedvalue="1.031">1031</LanguageCode>
                </UserLocLabel>
              </Description>
              <IsCustomField>false</IsCustomField>
              <RequiredLevel>
                <Value>None</Value>
              </RequiredLevel>
              <ValidForCreate>true</ValidForCreate>
              <ValidForRead>true</ValidForRead>
              <ValidForUpdate>true</ValidForUpdate>
              <DisplayMask>
                <Value>ValidForAdvancedFind ValidForForm ValidForGrid</Value>
              </DisplayMask>
              <Format>
                <Value>Text</Value>
              </Format>
              <MaxLength formattedvalue="50">50</MaxLength>
              <ImeMode>
                <Value>Auto</Value>
              </ImeMode>
              <DatabaseLength formattedvalue="100">100</DatabaseLength>
            </Attribute>
            .
            .
            .

Ich würde nun gerne die LogicalNames von den Attributen -> derzeit hab ich es so:

Code:
var entityNodes = resultXml.selectNodes("//RetrieveEntityResponse/EntityMetadata");
for (var i = 0; i < entityNodes.length; i++) {
  var entityNode = entityNodes[i];
  var nameNode = entityNode.selectSingleNode("LogicalName");
  var name = (nameNode == null) ? null : nameNode.text;
  if (name != "null"){
    alert(name);
  }

Bekomme damit aber leider auch die LogicalNames von NichtAttributen
Hätte jemand eine Idee/Hilfe ?

Lg Castor_Troy
 

Neue Beiträge

Zurück