Castor_Troy
Grünschnabel
Hi hätte eine Frage bzgl. wich ich per Javascript und selectSingleNode einen bestimmten Knoten erreiche:
XMLfile:
Ich würde nun gerne die LogicalNames von den Attributen -> derzeit hab ich es so:
Bekomme damit aber leider auch die LogicalNames von NichtAttributen
Hätte jemand eine Idee/Hilfe ?
Lg Castor_Troy
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