سؤال

أريد أن تطبيق XSLT إلى مستند XML باستخدام C# و إرسال الإخراج إلى ملف.

هل كانت مفيدة؟

المحلول

لقد وجدت إجابة ممكنة هنا: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63

من المقال:

XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ;
XslTransform myXslTrans = new XslTransform() ;
myXslTrans.Load(myStyleSheet);
XmlTextWriter myWriter = new XmlTextWriter("result.html",null) ;
myXslTrans.Transform(myXPathDoc,null,myWriter) ;

تحرير:

ولكن بلدي مضمونة المترجم يقول ، XslTransform عفا عليه الزمن:استخدام XslCompiledTransform بدلا من ذلك:

XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ;
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(myStyleSheet);
XmlTextWriter myWriter = new XmlTextWriter("result.html",null);
myXslTrans.Transform(myXPathDoc,null,myWriter);

نصائح أخرى

استنادا إلى دارين ممتاز الإجابة ، علما أن هذا القانون يمكن اختصارها بشكل كبير باستخدام المناسبة XslCompiledTransform.تحويل الزائد:

var myXslTrans = new XslCompiledTransform(); 
myXslTrans.Load("stylesheet.xsl"); 
myXslTrans.Transform("source.xml", "result.html"); 

(آسف على طرح هذا كإجابة ، ولكن code block الدعم في تصريحات محدودة نوعا ما.)

في VB.NET أنت لا تحتاج حتى متغير:

With New XslCompiledTransform()
    .Load("stylesheet.xsl")
    .Transform("source.xml", "result.html")
End With

هنا هو البرنامج التعليمي حول كيفية القيام تحويلات XSL في C# على MSDN:

http://support.microsoft.com/kb/307322/en-us/

و هنا كيفية كتابة الملفات:

http://support.microsoft.com/kb/816149/en-us

مجرد ملاحظة جانبية:إذا كنت تريد أن تفعل التحقق أيضا هنا هو آخر تعليمي (على DTD, والسل الشديد المقاومة للأدوية ، XSD (=مخطط)):

http://support.microsoft.com/kb/307379/en-us/

أضفت هذا إلى توفير المزيد من المعلومات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top