2010-09-09 14 views
8

मैं एक एक्सएमएल दस्तावेज़ बनाता हूं और एक्सएसएलटी फ़ाइल का संदर्भ चाहता था।लिंक में एक्सएमएल दस्तावेज़ के लिए स्टाइलशीट संदर्भ जोड़ें?

//<?xml-stylesheet type="text/xsl" href="OBReport.xslt"?> 
इस एक्सएमएल पीढ़ी के लिए

:

XElement xml = new XElement("ReportedOn", 
        from dl in EL.DocumentLog.ToList() 
        join o in EL.Organization 
        on dl.OrganizationID equals o.OrganizationId 
        where dl.ActionDate >= stDate & 
        dl.ActionDate <= enDate 
        orderby dl.DefendantName, dl.DocumentName 
        select new XElement("persons", 
           new XAttribute("documentName", dl.DocumentName), 
           new XElement("defendantName", dl.DefendantName), 
           new XElement("actionDate", dl.ActionDate.ToString()), 
           new XElement("startDate", dl.StartDate.ToString()), 
          new XElement("endDate", dl.EndDate.ToString()), 
          new XElement("organizationName" , o.OrganizationName))); 
+0

@ हेनक होल्टरमैन: यदि ओपी एक्सएसएलटी स्टाइलशीट या सीएसएस स्टाइलशीट के लिए पीआई जोड़ना चाहता है तो इससे कोई फर्क नहीं पड़ता। साथ ही, एक्सएमएलटी स्टाइलशीट को एक्सएमएल दस्तावेज़ में संदर्भित करने के लिए एक्सएसएलटी विनिर्देशों का हिस्सा नहीं है। और आखिरकार, ओपी LINQ के साथ ऐसा करना चाहता है, एक्सएसएलटी के साथ नहीं। तो, कृपया अपना शीर्षक और टैग संस्करण रोलबैक करें। –

+0

@Alejandro: नहीं, प्रसंस्करण निर्देश प्रश्न का नहीं, जवाब का हिस्सा है। और मैंने पीआई को गुप्त पाया। –

+0

@ हेनक होल्टरमैन: मुझे लगता है कि यह '' (प्रश्न से पाठ) ** ** एक पीआई है ... **। लेकिन मेरे पिछले तर्कों के साथ इसका कोई लेना-देना नहीं है –

उत्तर

10

एक XProcessingInstruction तत्व जोड़ें।

और आपके XElement (जिसे दस्तावेज़ के रूप में उपयोग किया जा सकता है लेकिन सीमाओं के साथ) का उपयोग नहीं किया जा सकता है, लेकिन एक लिफाफा XDocument पर। तो, आपके कोड के बाद:

XElement body = ...; // root XElement from your Linq statement 
XDocument doc = new XDocument(
     new XProcessingInstruction("xml-stylesheet", "type='text/xsl' ref='hello.xsl'"), 
     body); 
संबंधित मुद्दे