/* Dans le debug, il m’indique : svg.InnerXml = « <?xml version="1.0" encoding="utf-8" standalone="yes"?> » donc à priori c’est bon. */
public void CreateLayer()
{
XmlElement element = this.CreateElement("g");
this.AppendChild(element);
}
}
}[/code]
Donc tout va bien. Le problème c’est que quand j’instancie ma classe à partir de Program.cs :
class Program
{
public static void Main(string[] args)
{
SvgDocument svgDoc = new SvgDocument();
Console.WriteLine(svgDoc.OuterXml());
Console.ReadLine();
}
}
svgDoc est vierge plus rien !!! Je ne comprends pas.
Merci
Euh, j’ai l’impression que tu mélanges un peu tout là : tu fais une classe qui hérite de XmlDocument, mais tu instancies un XmlDocument dans ton constructeur ??
Dans ton constructeur tu initialises une variable locale que tu remplies : ok, correct, le debugger t’affiche bien le contenu de ta variable.
Sorti du constructeur, ta variable est libérée, et tu n’a pas du tout touché à ton document (ta classe SvgDocument EST le document xml, pas besoin de créer un autre document xml en interne).
Tu devrais plutôt faire des this à la place de svg pour que le constructeur serve au moins à qq chose.
[quote=« Styx31, post:2, topic: 26553 »]Euh, j’ai l’impression que tu mélanges un peu tout là : tu fais une classe qui hérite de XmlDocument, mais tu instancies un XmlDocument dans ton constructeur ??
Dans ton constructeur tu initialises une variable locale que tu remplies : ok, correct, le debugger t’affiche bien le contenu de ta variable.
Sorti du constructeur, ta variable est libérée, et tu n’a pas du tout touché à ton document (ta classe SvgDocument EST le document xml, pas besoin de créer un autre document xml en interne).
Tu devrais plutôt faire des this à la place de svg pour que le constructeur serve au moins à qq chose.[/quote]
Oui, dans ton constructeur tu cree un svg en tant que XmlDocument, mais t’en fait rien, c’est this qu’il faut que tu remplisses, pas un nouveau XmlDocument. Enfin styx l’a deja bien dit je repete
Et bien c’est long tout çà, à l’heure du Internet haut-débit ! Non je plaisante bien sur, mais je vais voir si je ne peux pas me dispenser de cette dtd…
En effet, je validerai bien le document avant de le sauver dans un fichier. Est-ce qu’il ne faudrait pas intégrer la dtd directement en local ??? (Parce que çà ne change pas non plus tous les jours çà) Enfin je verrai
Et puis j’ai un autre souçi là je ne trouve pas comment affecter le nom d’une balise. Voici ma classe qui est sensé retourner un rectangle :
[code]namespace SvgProcessor
{
public class SvgRectangle : XmlElement
{
public SvgRectangle(int width, int height)
{
this.Name = « rect »; // Impossible : READONLY
this.SetAttribute(« width », width.ToString());
this.SetAttribute(« height », height.ToString());
}
}
}[/code]
Comment faire ? (C’est vraiment un truc de newb je sais
J’ai un petit souci pour « référer » au XmlDocument doc dans mon programme :
Voici le fichier program.cs :
[code]using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace SvgProcessor
{
class Program
{
public static void Main(string args)
{
SvgDocument svgDoc = new SvgDocument();
SvgRectangle svgRect = new SvgRectangle(100,100);
[code]using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace SvgProcessor
{
public class SvgRectangle : XmlElement
{
public SvgRectangle(int Width, int Height) : base (« rect »,« »,« », doc) // QUE DOIS-JE METTRE A LA PLACE DE DOC ?
{
this.SetAttribute(« width », Width.ToString());
this.SetAttribute(« height », Height.ToString());
}
J’en profite pour remettre les liens de Tzim, perdu dans un thread, au sujet des vidéos microsoft (en anglais).
Moi j’avais commencé à regarder pour la programmation objet et j’avais trouvé cela bien expliqué. Peut être en sera-t-il de même avec celle parlant de xml.
[quote]Lesson 1: Getting Started with Visual C# 2005 Express Edition
Lesson 2: Creating a Windows Application User Interface
Lesson 3: Writing Code to Handle Events and Set Properties
Lesson 4: Working with Variables, Expressions, Statements, and Operators
Lesson 5: Using Branching and Recursion
Lesson 6: Object Oriented Programming Fundamentals
Lesson 7: Getting to Know the .NET Framework
Lesson 8: Obtaining Data from a SQL Server 2005 Express Edition Database
Lesson 9: Databinding Data to User Interface Controls
Lesson 10: Working with XML
Lesson 11: Handling Exceptions
Lesson 12: The RSS Reader Project - Designing and Planning
Lesson 13: The RSS Reader Project - Building the UI
Lesson 14: The RSS Reader Project - Working with XML and SQL Server 2005 Express Edition Data
Lesson 15: The RSS Reader Project - Expanding and Refining Application Functionality
Lesson 16: The RSS Reader Project - Fortifying, Testing and Deploying the Application
These lessons provided and built by: www.learnvisualstudio.net[/quote]
[quote=“Tzim, post:36, topic: 25995”]Allez, ca prends du temps, mais c’est un bon moyen d’apprendre, surtout pour les feignasses : la Vidéo !
C’est orienté total débutant, donc j’ai pas tout regardé, mais ca a l’air bien foutu. Le lien est dans la start page de visual C# express…
Oh, et si comme moi, vous aimez garder les fichiers d’install sous le coude, et vous n’aimez pas les installations en ligne, vous pouvez télécharger des images des CDs d’install là : http://msdn.microsoft.com/vstudio/express/support/install/[/quote]
[quote=“phili_b, post:14, topic: 26553”]J’en profite pour remettre les liens de Tzim, perdu dans un thread, au sujet des vidéos microsoft (en anglais).
Moi j’avais commencé à regarder pour la programmation objet et j’avais trouvé cela bien expliqué. Peut être en sera-t-il de même avec celle parlant de xml.[/quote]
Glop ?! Est-ce que tu sais s’il existe des vidéos comme cela pour web .Net ? Je suis allé sur le site de microsoft et je n’ai rien trouvé. Il y en a certes sur www.learnvisualstudio.net, l’éditeur de ces formations, mais elles sont payantes.