2011-03-02 15 views
5

मैं web.config कॉन्फ़िगरेशन बैच फ़ाइल (हैनसेलमैन) से छुटकारा पा रहा हूं और बनाम 2010 में कॉन्फ़िगरेशन रूपांतरण सुविधा का उपयोग करना चाहता हूं। हालांकि मुझे एक एक्सएमएल तत्व को बदलने के लिए कुछ परेशानी हो रही है (जैसा कि तत्व पर एक विशेषता के विपरीत)। यह किया जा सकता है -web.config xml तत्व

<Federation type="..." xmlns="..."> 
     <SigningCertificate .../> 
     <AllowedAudienceUris> 
       <Audience>https://audience.url.com</Audience> 
     </AllowedAudienceUris> 
</Federation> 

मैं एक अलग निर्माण विन्यास के आधार पर यूआरएल डालने से तत्व बदलना चाहते हैं:

यह मेरा web.config से एक टुकड़ा है?

अग्रिम धन्यवाद!

<!-- Copy all nodes --> 
<xsl:template match="@* | node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()"/> 
    </xsl:copy> 
</xsl:template> 

<!-- Operate just on the AllowedAudienceUris (copy it), setting the Audience element --> 
<xsl:template match="/Federation/AllowedAudienceUris"> 
    <xsl:copy> 
     <Audience>https://hello.com</Audience> 
    </xsl:copy> 
</xsl:template> 

उत्तर

-1

एक दृष्टिकोण निम्नलिखित किया जाएगा।

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <Federation> 
    <AllowedAudienceUris 
     xdt:Transform="Replace" 
     xdt:Locator="Condition(//Audience)"> 
     <Audience>https://example.com</Audience> 
    </AllowedAudienceUris> 
    </Federation> 
</configuration> 
+0

मैं इसे करने की कोशिश की, लेकिन यह काम नहीं किया। – jaspernygaard

+0

@jaspernygaard समाधान यह मान रहा है कि मूल तत्व/संघ है। आपको इसे अनुकूलित करने की आवश्यकता होगी कि वास्तविक एक्सएमएल संरचना क्या है। आप हमेशा समस्या की एक और पूरी तस्वीर पोस्ट कर सकते हैं। –

+2

@jaspernygaard मुझे समझ में नहीं आता ... सवाल वेब कॉन्फिगर ट्रांसफॉर्म के बारे में पूछ रहा है जो एक्सडीटी पर आधारित नहीं है, एक्सएसएलटी पर आधारित है। इस उत्तर में प्रदान किया गया कोड स्निपेट स्पष्ट रूप से एक्सएसएलटी है। यह स्वीकार्य उत्तर कैसा है? –

1

आप xdt:Locator और xdt:Transform विशेषताओं का उपयोग यह करने के लिए सक्षम होना चाहिए:

/जैस्पर

+0

ऐसा लगता है कि यह काम करना चाहिए, लेकिन यह नहीं है, जहां तक ​​मैं कह सकता हूं। –

2

AllowedAudienceUris और श्रोतागण तत्वों केवल एक बार आती है, तो xdt:Locator को छोड़ते हुए भी ठीक है:

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <Federation> 
    <AllowedAudienceUris xdt:Transform="Replace"> 
     <Audience>https://example.com</Audience> 
    </AllowedAudienceUris> 
    </Federation> 
</configuration>