الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في xml

مغلق
بدأه web.pro في 20 ديسمبر 2006 · 5 رد · 713 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم يا أخوان

ما هو الخطأ في هذا الكود علما أنني اقوم بتنفيذه فقط ولم اقم بكتابته

فأرجو مساعدتي لفهم محتوى هذا الكود "انا اعمل على .net 2003"

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;

namespace Microsoft.Samples.Xml
{
	public class TransformXMLSample
	{
		private const string document1 = @"..\..\books.xml";
		private const string document2 = @"..\..\ProcessParametersA.xml";
		private const string document3 = @"..\..\ProcessParametersB.xml";
		private const string styleSheet1 = @"..\..\books.xsl";
		private const string styleSheet2 = @"..\..\StyleSheetGenerator.xsl";
		private const string output1 = @"..\..\table.html";
		private const string output2 = @"..\..\transform2.xsl"; 
		private const string output3 = @"..\..\transform3.xsl";	
		/** 
			add <?xml-stylesheet type="text/xsl" href="transform2.xsl" ?> to books.xml to view transform using transform2.xsl
			add <?xml-stylesheet type="text/xsl" href="transform3.xsl" ?> to books.xml to view transform using transform3.xsl
		**/


		static void Main()
		{
			TransformXMLSample transformXMLSample = new TransformXMLSample();
			Console.WriteLine("\n\n*********Output from the first transform:*********\n\n");
			String[] args1 = {document1, styleSheet1,output1};
			transformXMLSample.Run(args1);

			Console.WriteLine("\n\n*********Output from the second transform:*********\n\n");
			String[] args2 = {document2, styleSheet2,output2};
			transformXMLSample.Run(args2);

			Console.WriteLine("\n\n*********Output from the third transform:*********\n\n");
			String[] args3 = {document3, styleSheet2,output3};
			transformXMLSample.Run(args3);
			Console.Write("Press Enter to Exit");
			Console.ReadLine();
		}

		public void Run(String[] args)
		{
			Console.WriteLine();
			Console.WriteLine("Read XML data file, transform and format display ...");
			Console.WriteLine();

			ReadTransform(args);

			Console.WriteLine();
			Console.WriteLine("Read XML data file, transform and write ...");
			Console.WriteLine();

			ReadTransformWrite(args);
			Console.WriteLine();
		}

		public void ReadTransform(String[] args)
		{
			XslCompiledTransform processor = new XslCompiledTransform(true);
			processor.Load(args[1]);
			//Transform the file.
			processor.Transform(args[0], null, Console.Out);
		}

		public void ReadTransformWrite(String[] args)

		{
			using (FileStream stream = File.Open(args[2], FileMode.Create))
			{
				//Create XsltCommand and compile stylesheet.
				XslCompiledTransform processor = new XslCompiledTransform();
				processor.Load(args[1]);
				//Transform the file.
				processor.Transform(args[0], null, stream);
			}
		}
	} 
}
#2

لفهم الكود يجب اولا معرفة الكود ده بيعمل ايه؟؟؟

#3

بالنظرة السريعه أظن أنه يقوم بعمل Transform لملفات XML بناء على XSL معين وفي هذا المثال يفعل ذلك لتصدير أو لتحويل ان جاز التعبير ملفات الـ XML إلى ملفات HTML ليستطيع المستخدم أن يشاهد البيانات بطريقة أفضل ( يشاهدها في صفحات HTML بها مثلا جداول وألوان ولينكات وربما صور والخ ) بدلا من رؤيتها وهي في صيغتها الأصليه XML. وتتم عملية التصدير أو التحويل بناء على ملف أو ملفي الـ XSL.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#4
namespace Microsoft.Samples.Xml
{

	using System;
	using System.IO;
	using System.Xml;
	using System.Xml.Xsl;
	using System.Xml.XPath;


	public class TransformXMLSample
	{
		private const string document1 = @"..\..\books.xml";
		private const string document2 = @"..\..\ProcessParametersA.xml";
		private const string document3 = @"..\..\ProcessParametersB.xml";
		private const string styleSheet1 = @"..\..\books.xsl";
		private const string styleSheet2 = @"..\..\StyleSheetGenerator.xsl";
		private const string output1 = @"..\..\table.html";
		private const string output2 = @"..\..\transform2.xsl"; //linked by books-t2.xml
		private const string output3 = @"..\..\transform3.xsl";	//linked by books-t3.xml
		/** 
			add <?xml-stylesheet type="text/xsl" href="transform2.xsl" ?> to books.xml to view transform using transform2.xsl
			add <?xml-stylesheet type="text/xsl" href="transform3.xsl" ?> to books.xml to view transform using transform3.xsl
		**/


		public static void Main()
		{
			TransformXMLSample myTransformXMLSample = new TransformXMLSample();
			Console.WriteLine("\n\n*********Output from the first transform:*********\n\n");
			String[] args1 = {document1, styleSheet1,output1};
			myTransformXMLSample.Run(args1);

			Console.WriteLine("\n\n*********Output from the second transform:*********\n\n");
			String[] args2 = {document2, styleSheet2,output2};
			myTransformXMLSample.Run(args2);

			Console.WriteLine("\n\n*********Output from the third transform:*********\n\n");
			String[] args3 = {document3, styleSheet2,output3};
			myTransformXMLSample.Run(args3);
			Console.Write("Press Enter");
			Console.ReadLine();
		}

		public void Run(String[] args)
		{
			Console.WriteLine();
			Console.WriteLine("Read XML data file, transform and format display ...");
			Console.WriteLine();

			ReadTransform(args);

			Console.WriteLine();
			Console.WriteLine("Read XML data file, transform and write ...");
			Console.WriteLine();

			ReadTransformWrite(args);
			Console.WriteLine();
		}

		public void ReadTransform(String[] args)
		{
			XslCompiledTransform myProcessor = new XslCompiledTransform();
			myProcessor.Load(args[1]);
			//Transform the file.
			myProcessor.Transform(args[0], null, Console.Out);
		   }

		public void ReadTransformWrite(String[] args)

		{
			FileStream stream = null;
			try
			{
				stream = File.Open(args[2],FileMode.Create);

				//Create XsltCommand and compile stylesheet.
				XslCompiledTransform myProcessor = new XslCompiledTransform();
				myProcessor.Load(args[1]);
				//Transform the file.
				myProcessor.Transform(args[0], null, stream);	
			}
			finally
			{
				stream.Close();
			}
		}
	} 
}

تم تعديل هذه المشاركة بواسطة man4maya في 21 ديسمبر 2006 في 04:02

image-27.gif

concepteur realisateur java j2ee

php5 and asp

#5

شكرا لكم

ولكن لماذا لم يطبق معي البرنامج

لقد غيرت

XslCompiledTransform myProcessor = new XslCompiledTransform

إلى

XslTransform myProcessor = new XslTransform

لأن الاول يعمل على .net 2005

ولكنه مازال يظهر لي خطأفي هذا السطر

myProcessor.Transform(args[0], null, Console.Out);
#6

أخي السلام عليكم الكود اللي كتبتوا ليك مغاير و فيه اصلاحات و اضافات المرجو مراجعته

image-27.gif

concepteur realisateur java j2ee

php5 and asp

هذا الموضوع مغلق.

مواضيع مشابهة