2016-04-05 28 views
1

Aşağıdaki XML'im var;XSLT ile XML Oluşturma

<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> 
 
<GetAllUserCollectionFromWebResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/"> 
 
    <GetAllUserCollectionFromWebResult> 
 
    <GetAllUserCollectionFromWeb> 
 
     <Users> 
 
     <User ID="Value" Sid="Value" Name="Value" LoginName="Value" Email="Value" Notes="" IsSiteAdmin="False" IsDomainGroup="False" Flags="0" /> 
 
     <User ID="Value" Sid="Value" Name="Value" LoginName="Value" Email="Value" Notes="" IsSiteAdmin="True" IsDomainGroup="False" Flags="0" /> 
 
     </Users> 
 
    </GetAllUserCollectionFromWeb> 
 
    </GetAllUserCollectionFromWebResult> 
 
</GetAllUserCollectionFromWebResponse> 
 
    </soap:Body> 
 
</soap:Envelope>

Ben çıkış belirli değerlere XSL ile XML render denedim; Örneğin. LoginName.

Bu benim XSL'm;

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope"> 
 
<xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="yes" /> 
 
<xsl:template match="/"> 
 

 
    <xsl:for-each select="Envelope/soap:Body/GetAllUserCollectionFromWebResponse/GetAllUserCollectionFromWebResult/GetAllUserCollectionFromWeb/Users/User"> 
 
     
 
     <xsl:value-of select="@LoginName" /> 
 

 
    </xsl:for-each> 
 

 
</xsl:template> 
 
</xsl:stylesheet>

Hiçbir şey

Sadece çıkışa LoginName niteliği istiyorum çıkılır. yardımcı olur Lütfen

,

çok teşekkürler

cevap

1

İki hataları: En XSL

sabun ad uri sondaki / kaçırır. Kullanıcı için XPath olarak

<xsl:stylesheet ... 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 

yeri GetAllUserCollectionFromWebResponse vs. Bu işleri URI http://schemas.microsoft.com/sharepoint/soap/directory/

<xsl:for-each xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" 
    select="soap:Envelope/soap:Body/dir:GetAllUserCollectionFromWebResponse/dir:GetAllUserCollectionFromWebResult/dir:GetAllUserCollectionFromWeb/dir:Users/dir:User"> 
+0

eşleştirilmiş bir ad öneki ihtiyaç basamaz! Çok teşekkür ederim! –