2009-07-29 15 views
7

मैं ओओएक्सएमएल एसडीके का उपयोग कर एक्सएलएसएक्स स्प्रेडशीट उत्पन्न कर रहा हूं, और मुझे x: नेमस्पेस उपसर्ग से छुटकारा पाने की आवश्यकता है। इसे कैसे प्राप्त किया जा सकता है?एक्सएलएसएक्स- डिफ़ॉल्ट नेमस्पेस उपसर्ग x से कैसे छुटकारा पाएं x :?

 
using (SpreadsheetDocument doc = SpreadsheetDocument.Open("template.xlsx", true)) 
      { 
       //Save the shared string table part 
       if (doc.WorkbookPart.GetPartsOfType().Count() > 0) 
       { 
        SharedStringTablePart shareStringPart = 
doc.WorkbookPart.GetPartsOfType().First(); shareStringPart.SharedStringTable.Save(); } //Save the workbook doc.WorkbookPart.Workbook.Save(); }

यहाँ, मूल XLSX फ़ाइल Excel 2007 से आ रहा है और उपसर्ग नहीं है, तथापि, को बचाने के आपरेशन उपसर्ग प्रकट होता है के बाद। मैं इससे कैसे बच सकता हूं?

+1

तुम क्यों उपसर्ग से छुटकारा पाने की जरूरत है? उपसर्ग के कारण क्या समस्या है? –

+0

क्योंकि क्लाइंट के पास कुछ अजीब सॉफ़्टवेयर है जो उपसर्ग के साथ फ़ाइल आयात करने में विफल रहता है - और इसके साथ कुछ लेना देना नहीं है। मैंने मैन्युअल रूप से उपसर्ग को हटा दिया है, और यह ठीक आयात किया गया था। – user116884

+0

अपने एक्सएसएलएक्स दस्तावेज़ में पोस्ट-प्रोसेसिंग चरण लागू करने के बारे में कैसे है जो उपसर्ग को हटाता है और उचित डिफ़ॉल्ट नामस्थान सेट करता है? यह भी देखें http://stackoverflow.com/questions/413050/c-how-to-remove-namespace-information-from-xml-elements/413088#413088 –

उत्तर

0

जब तक कि मैं बहुत गलत नहीं हूं, मूल फ़ाइल को नामित भी किया जाता है - केवल डिफ़ॉल्ट नामस्थान के रूप में। नामस्थान के साथ पहली जगह में क्या गलत है?

+0

आप सही हैं। यही वही है जो मैं चाहता हूं - डिफ़ॉल्ट नामस्थान। ऐसा इसलिए है क्योंकि मेरे क्लाइंट में कुछ अजीब सॉफ़्टवेयर है जो एक्सएलएसएक्स को उपसर्ग के साथ आयात करने में विफल रहता है - और इसके साथ कुछ लेना देना नहीं है। यदि मैं उपसर्ग को मैन्युअल रूप से हटा देता हूं, तो यह ठीक आयात करता है। – user116884

3

यहाँ कि केवल एक ही नाम स्थान और प्रतियां स्ट्रिप्स स्टाइलशीट divo से जुड़े का एक संशोधित संस्करण है शब्दशः बाकी:

<xsl:stylesheet version="1.0" xmlns:x="namespace-to-strip" 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="no" encoding="UTF-8"/> 

    <xsl:template match="/|comment()|processing-instruction()"> 
    <xsl:copy> 
     <xsl:apply-templates/> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template match="x:*"> 
    <xsl:element name="{local-name()}"> 
     <xsl:apply-templates select="@*|node()"/> 
    </xsl:element> 
    </xsl:template> 

    <xsl:template match="@x:*"> 
    <xsl:attribute name="{local-name()}"> 
     <xsl:value-of select="."/> 
    </xsl:attribute> 
    </xsl:template> 

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

</xsl:stylesheet> 
संबंधित मुद्दे