2009-05-11 9 views
18

करने के लिए और जोड़ने को बदलने मैं एक XSLT को बदलने मुद्दा है:सी # XSLT उत्पादन

style="width:{Data/PercentSpaceUsed}%;" 

और डेटा/PercentSpaceUsed का मूल्य पूर्णांक 3.

है और यह आउटपुट:

style="width:
  3
 %;" 

जो मैंने अपेक्षा की थी:

style="width:3%;" 

यहां कोड है जो ट्रांसफॉर्म करता है: xslt_xslt ट्रांसफॉर्म xml है, sw.ToString() में 
 और 
 है जो मुझे उम्मीद नहीं थी।

var xslTransObj = new XslCompiledTransform(); 
var reader = new XmlTextReader(new StringReader(xslt_xslt)); 
xslTransObj.Load(reader); 
var sw = new StringWriter(); 
var writer = new XmlTextWriter(sw); 
xslTransObj.Transform(new XmlTextReader(new StringReader(xslt_data)), writer); 

ResultLiteral.Text = sw.ToString(); 
+0

हाय के लिए उपयोग किया जाता है, मैं रॉबिन की तरह मेरे एक्सएमएल में रिक्त स्थान था ने कहा। मैंने रिक्त स्थान को हटाकर इस मुद्दे को हल किया। –

+4

@ पैट्रिक यह एक टिप्पणी है। यही टिप्पणियां हैं। जब तक आप 50 प्रतिनिधि अर्जित नहीं कर लेते तब तक आप टिप्पणी नहीं कर सकते। हालांकि, अगर आप अपने ब्लॉग के लिंक के साथ हर प्रश्न या उत्तर में एक विशाल हस्ताक्षर जम्मू करने पर जोर देते हैं, तो आपको कभी भी 50 प्रतिनिधि नहीं मिलेंगे। अपने आप को बढ़ावा देने का सबसे अच्छा तरीका है अपनी प्रोफ़ाइल को अपडेट करना और अच्छी गुणवत्ता वाले उत्तर प्रदान करना। इसके अलावा, कृपया [faq] (http://stackoverflow.com/faq) पढ़ें। – Will

उत्तर

27


 कैरिएज रिटर्न कर रहे हैं और लाइन आपके XML या अपने XSLT के भीतर या तो फ़ीड। सुनिश्चित करें कि एक्सएमएल तरह

<Value>3</Value> 

बजाय

<Value> 
    3 
</Value> 

मेरा मानना ​​है कि वहाँ खाली स्थान के बंद करने के लिए एक तरह से अपने परिवर्तन के भीतर इस्तेमाल किया जा रहा, हालांकि मैं डॉन 'टी इसे बंद मेरे सिर के ऊपर पता है।

+0

असल में यह ऐसा है: शैली = "चौड़ाई: {डेटा/प्रतिशत स्पेसयूड}%;" – DMCS

+0

लेकिन डेटा फ़ाइल में कैरिज रिटर्न था :-( – DMCS

11

आपको स्रोत दस्तावेज़ से व्हाइटस्पेस मिल रहा है।

style="width:{normalize-space(Data/PercentSpaceUsed)}%;" 

व्हाइटस्पेस को बाहर निकालने के लिए उपयोग करें। आपके मामले में अन्य विकल्प का उपयोग करने

style="width:{number(Data/PercentSpaceUsed)}%;" 
3

विशेषता मानों के लिए उत्पादन पर संरक्षित करने की इनपुट खाली स्थान के लिए


XmlWriterSettings settings = new XmlWriterSettings(); 
settings.OmitXmlDeclaration = true; 
settings.Indent = true; 
settings.IndentChars = "\t"; 
settings.NewLineHandling = NewLineHandling.None; 
XmlWriter writer = XmlWriter.Create(xmlpath, settings); 

कोशिश होगी।

ध्यान दें: उपरोक्त रूपरेखाओं के साथ टैब खरोज

+0

मुझे नहीं लगता कि यह वही पूछा गया है ... –