begin process at 2012 02 11 13:46:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Fichier & Disque

 > 

[OpenXml] - les deux points dans les balises


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[OpenXml] - les deux points dans les balises

jeudi 19 avril 2007 à 12:44:49 | [OpenXml] - les deux points dans les balises

romagny13

Bonjour,

voila j'ai un problême lorsuqe je génére le fichier document.xml (OpenXml)
les balises sont de la forme <w:p> ou <w:r> par exemple

si j'utilise un XmlWriter > j'ai un message d'erreur
Caractère de nom non valide dans 'w:document'. Le caractère ':', valeur hexadécimale 0x3A, ne peut pas être inclus dans un nom.

si j'utilises un XmlDocument il enleve les w: et mes balises générées sont de la forme <p> ou <r> au lieu de <w:p> et <w:r>

comment faire pour conserver la balise telle qu'il faut la générer (avec donc w: )  ?
(que ce soit avec un XmlWriter ou XmlDocument)
jeudi 19 avril 2007 à 12:54:42 | Re : [OpenXml] - les deux points dans les balises

romagny13

Voila un exemple de code cela vous aidera peut etre à m'aider :p lol

// 1 avec XmlDocument

using (System.IO.Stream oStream = oPackagePart.GetStream())

{

System.Xml.

XmlDocument oXmlDocument;

oXmlDocument =

new System.Xml.XmlDocument();

System.Xml.

XmlElement oXmlElementDocument = oXmlDocument.CreateElement("w:document");

System.Xml.

XmlElement oXmlElementBody = oXmlDocument.CreateElement("w:body");

System.Xml.

XmlElement oXmlElementParagraph = oXmlDocument.CreateElement("w:p");

System.Xml.

XmlElement oXmlElementRun = oXmlDocument.CreateElement("w:r");

System.Xml.

XmlElement oXmlElementText = oXmlDocument.CreateElement("w:t");

System.Xml.

XmlText oXmlText = oXmlDocument.CreateTextNode("ouiiiiiiiiiii");

oXmlDocument.AppendChild(oXmlElementDocument);

oXmlElementDocument.AppendChild(oXmlElementBody);

oXmlElementBody.AppendChild(oXmlElementParagraph);

oXmlElementParagraph.AppendChild(oXmlElementRun);

oXmlElementRun.AppendChild(oXmlElementText);

oXmlElementText.AppendChild(oXmlText);

oXmlDocument.Save(oStream);

oPackage.Flush();

oPackage.Close();

}

 

//2 avec XmlWriter

System.Xml.

XmlWriter oXmlWriter;

System.Xml.

XmlWriterSettings oXmlWriterSettings;

 

oXmlWriterSettings =

new System.Xml.XmlWriterSettings();

oXmlWriterSettings.Indent =

true;

oXmlWriterSettings.Encoding = System.Text.

Encoding.UTF32;

oXmlWriter = System.Xml.

XmlWriter.Create(oPackagePart.GetStream(), oXmlWriterSettings);

oXmlWriter.WriteStartElement(

"w:document");

oXmlWriter.WriteStartElement(

"w:body");

oXmlWriter.WriteStartElement(

"w:p");

oXmlWriter.WriteStartElement(

"w:r");

oXmlWriter.WriteElementString(

"w:t", "ouiiiiiiiiiiiiiiii");

oXmlWriter.WriteEndElement();

oXmlWriter.WriteEndElement();

oXmlWriter.WriteEndElement();

oXmlWriter.WriteEndElement();

// root

oXmlWriter.Close();

jeudi 19 avril 2007 à 13:30:04 | Re : [OpenXml] - les deux points dans les balises

romagny13

Réponse acceptée !
Bon j'ai peut être trouvé en fait apparemment il faut obligatoirement indiquer le namespace pour chaque element :


System.IO.Packaging.

PackagePart oPackagePart = oPackage.CreatePart(oUri, "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");

string WordprocessingML = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";

//// 1 avec XmlDocument

using (System.IO.Stream oStream = oPackagePart.GetStream())

{

System.Xml.

XmlDocument oXmlDocument;

oXmlDocument =

new System.Xml.XmlDocument();

System.Xml.

XmlElement oXmlElementDocument = oXmlDocument.CreateElement("w:document", WordprocessingML);

System.Xml.

XmlElement oXmlElementBody = oXmlDocument.CreateElement("w:body", WordprocessingML);

System.Xml.

XmlElement oXmlElementParagraph = oXmlDocument.CreateElement("w:p", WordprocessingML);

System.Xml.

XmlElement oXmlElementRun = oXmlDocument.CreateElement("w:r", WordprocessingML);

System.Xml.

XmlElement oXmlElementText = oXmlDocument.CreateElement("w:t", WordprocessingML);

System.Xml.

XmlText oXmlText = oXmlDocument.CreateTextNode("ouiiiiiiiiiii");

oXmlDocument.AppendChild(oXmlElementDocument);

oXmlElementDocument.AppendChild(oXmlElementBody);

oXmlElementBody.AppendChild(oXmlElementParagraph);

oXmlElementParagraph.AppendChild(oXmlElementRun);

oXmlElementRun.AppendChild(oXmlElementText);

oXmlElementText.AppendChild(oXmlText);

oXmlDocument.Save(oStream);

oPackage.Flush();

oPackage.Close();

}



Cette discussion est classée dans : points, document, forme, balises, openxml


Répondre à ce message

Sujets en rapport avec ce message

tracer un graphe en calculant les points [ par godefrw ] Je souhaite toujour afficher une forme d'onde (voir question "forme d'onde) en fait il s'agit de réaliser un graphe amplitude/temps. J'utilise directX effacer une forme d'un graphics [ par godefrw ] Bonjour, je cherche à effacer une forme (par exemple une droite) de mon objet graphics sans avoir à effacre tout mon graphics et retracer tout ce qui Lire et modifier un document Word OpenXML en C# [ par sghchafaa ] Bonjour;voici un article tés precieux pour ceux qui cherche a traiter la manipulation des documents office avec C# <a target="_top" title="Lire et mod Fusion de document OpenXml [ par Hanyas ] me voila de retour après de longue recherche sur la génération de document sans installer office ... et je suis arrivais a faire accepter openXML aprè GED [ par tlilikhaled ] salut, je suis un étudiant et je veut faire mon projet de fin d'étude sur la gestion électronique des documents(GED) et je cherche des GED et leurs fo Deadline sous excel - alarme sous forme de fenetre Windows [ par VoluBill ] Bonjour, Je ne suis pas tres sur d etre dans la bonne rubrique, desole par avance (desole aussi pour l absence d accents dans ce post, clavier oblige Peoblème de Requête C# [ par hollowman010 ] Bonjour tous le monde, Je vous écrie car je rencontre un problème dont je ne trouve aucune solution. Actuellement je possède une base de donnée plate forme proteus+SCADA [ par benouattas ] bonjour a tout le monde est ce que quelqu'un connait plate forme PROTEUS a quoi ca cert cette plateforme parceque je ne trouve pas documentation sur plate forme PROTEUS [ par benouattas ] bonjour , jai un probleme je doit travailler sur la plate forme PROTEUS en meme temp avec les web service mon probleme je ne trouve pas une documentat


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales