Problème d'écriture XML - C#/.NET managed - Programmation
Marsh Posté le 29-12-2005 à 20:25:25
C'est dingue l'activité de la cat C#/Managed par les temps qui courent
Marsh Posté le 29-12-2005 à 22:34:15
Je continue de faire mes essais mais toujours rien
Toujours personne qui peut m'aider?
Marsh Posté le 02-01-2006 à 09:47:59
byte[] bBuffer = new byte[TextureGS.Length];
TextureGS.Read(bBuffer, 0, (int)TextureGS.Length); string sTextureFileName = Encoding.UTF8.GetString(bBuffer);
ca marche tout ca si TextureGS.Length = 0 ?
Marsh Posté le 02-01-2006 à 11:51:52
Non ca marche pas si c'est = 0 Merci de m'avoir montré ca
J'ai rajouté une verif (toute bete, un if )
Mais ca résouds pas le problème, toujours cette erreur de char invalide
EDIT : d'ailleurs je sais pourquoi j'avais pas mis de if au départ :
Dans le formatX, c'est soit y a un node TextureFileName qui contient le string, soit y a pas de TextureFileName. Donc normalement peut pas y avoir de TextureFileName avec un string vide
Mais on sais jamais, autant checker
Marsh Posté le 02-01-2006 à 12:15:01
Y a du neuf, jviens de me rendre compte de quelquechose
J'ai pris un objet en .X, mis en TextureFileName la chaine "DADA". Mon programme la retrouve bien, mais m'indique que le string a une longueur de 5
J'ai mis une chaine vide pour tester, il me dit que ca fait 1 char de long
Donc je me demande si y aurait pas un char bizarre (impossible a écrire ou autre ) qui serait lu
Mais si c'est le cas, comment le virer? J'ai tenté d'utiliser des string.Normalize(), string.Trim(), mais ca change rien
Donc si quelqu'un a une idée...
Merci
Marsh Posté le 02-01-2006 à 12:35:40
Bon ben j'ai résolu le problème, avec une methode bien degueu
Code :
|
Ca marche bien, plus d'erreur....Maintenant faut voir si ca marche dans tous les cas ;|
Merci a ceux qui ont lu / posté
Marsh Posté le 03-01-2006 à 11:11:39
x1800+ a écrit : Y a du neuf, jviens de me rendre compte de quelquechose |
l'idee, c'est que ce caractere supplementaire est le caractere de fin de chaine, un grand classique en manipulation de tableaux de char <-> string
Marsh Posté le 09-01-2006 à 11:56:50
Question : ton fichier c'est du XML ? Pourquoi tu utilises des fonctions le lecture bas niveau au lieu des fonctions de lecture XML du framework ?
Genre les XmlDocument, XmlElement et XmlAttributes ?
Si t'as jamais utilisé ces trucs là : tu veux un sample ? A mon humble avis c'est plus propre, et ton bug n'apparaitrai pas.
Marsh Posté le 09-01-2006 à 12:11:11
Je dis pas non pour des samples Bien que je vais quand même chercher de la doc sur msdn et le reste
Le fichier d'origine c'est un .X qui n'a rien a voir avec le xml, le fichier que j'ecris par contre c'est bien du xml.
Si j'utilise les classes XPathNavigator etc. c'est parceque ca me semblait plus "intuitif" aux premiers abords (avec notamment les selections du style machin[last()] etc.)
EDIT : Je me suis déja servi quand même des XmlDocument, XmlNode Mais je maitrise pas des masses la navigation entre les noeuds (pour choisir le bon etc en fait)
Marsh Posté le 09-01-2006 à 13:01:06
Ah oki, je viens de relire, c'est moi qui ai rien capté
Bon je te file deux pti samples quand même, pour lire et écrire ton fichier.
Ils sont hyper basiques, je sais pas si c'est ce que tu cherches.
Code :
|
Code :
|
Marsh Posté le 09-01-2006 à 16:00:08
Ca pourra m'être utile en tout cas Merci beaucoup
Même si ca reviens grosso modo au même qu'avec les XPath et cie., ca serait peut etre plus clean dans mon code, donc c'est bon a prendre
Marsh Posté le 29-12-2005 à 16:12:40
Bonjour à tous,
Voila, j'ai un petit problème au niveau de l'écriture d'un fichier xml.
Le soucis
Je récupère les données contenues dans un fichier .X(format des meshes 3D de directX), et je parse toutes les données avec les XFileData et autres objets MDX, pour ensuite les réécrire dans un fichier XML personnalisé.
Le fichier XML est censé se présenter comme suis :
Je procède donc via des XPathNavigator pour naviguer dans les branches du XML généré. L'écriture de toutes les branches marche, sauf une : celle nommée "material", et plus particulièrement pour l'écriture de l'attribut texture.
L'erreur que l'appli me retourne est la suivante : "'.', hexadecimal value 0x00, is an invalid character." (argumentException).
Le code du parser :
Le code d'écriture du XML
Sachant que l'objet currentMaterial correspond a une classe personnalisée, et donc que l'objet TextureFile est un string (du genre "latexture.jpg" tout simplement).
Donc si quelqu'un a une idée, une suggestion pour régler ce soucis, je suis preneur
Merci d'avance