Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [OpenXml] - les deux points dans les balises [ Système / Fichier & Disque ] (romagny13)

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é 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 integrer une video dans une forme [ par lidy07 ] la curiosité est un vilain defaut mais la cle de toutes connaissance integrer une video dans une forme [ par lidy07 ] je veux inserer une video smil (lecteur real player) son appercu dans une forme que doit je faire  la curiosité est un vilain defaut mais la cle de to Transformer une image en fonction de plusieurs points [ par morm91 ] Bonjour à tous,Celà fait quelque jour que je cherche, et ne trouvant pas la solution je me tourne vers la communauté Codes Sources pour m'aider :)Je r devrouillage d'un stripmenu [ par helmi2008 ] salut,j fais un mdiparent et une forme fille form1:j mis la propriete enabled de 2 boutons du menu a false:je ve a partir de la forme fille qui est un Webbrowser + click sur un bouton automatiquement [ par espadon2 ] Bonjour a tous et a toutes.Voila mon soucis  :je dois recuperer des informations sur plusieurs pages web protégées par  login/passwordJusque ici  j' u Quadrillage de points [ par ansizak ] Bonjour,Je m'initie aux fonction graphiques de C# et j'aurais souhaité comprendre comment réaliser un quadrillage à partir d'un tableau de points:Je d Lire Custom XML dans docx Office 2007 [ par Antonio01 ] Bonjour, J ai un petit problème de compréhension de la manipulation des Custom XML sous Office 2007. Ma problématique est la suivante : J ai un docume


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.