Webservice supprimer un namespace dans un XML

Signaler
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008
-
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008
-
Bonjour,


Voila j'ai un big souci que je ne comprend pas du tout car avant ca ne faisait jamais (enfin y a surement une différence car sinon ca marcherais).


Dans un XmlDocument j'aimerais supprimer mon Namespace mais à voir c'est impossible


XmlDocument EHRAFliesstextXml = new XmlDocument();
 EHRAFliesstextXml.LoadXml(EHRAFliesstext);
  //if (EHRAFliesstextXml.DocumentElement.Attributes.GetNamedItem("xmlns") != null)
  //{
            XmlNode p = EHRAFliesstextXml.DocumentElement; 
            //XmlNode Attributexmlns = EHRAFliesstextXml.DocumentElement.Attributes.GetNamedItem("xmlns");
            // EHRAFliesstextXml.DocumentElement.Attributes.GetNamedItem("xmlns").InnerText = "";
            //EHRAFliesstextXml.DocumentElement.Attributes.RemoveNamedItem("xmlns");
            p.Attributes.GetNamedItem("xmlns").InnerXml="";
            p.Attributes.RemoveNamedItem("xmlns");
            p.NamespaceURI.Remove(0);
          
    //}


J'ai tout essayé si je test mon xmlns il le trouve si je le met dans un XmlNode il le fait, si je le vide (je le constate dans le debug ca marche) et que après je fait un removenameditem il me le remets avec la valeur de départ j'ai même essayé avec un xmlnode rien à faire...


Si je fait .NamespaceUri.remove(0); il le trouve dans la méthode NamespaceURI mais il ne veut rien savoir impossible de le supprimer!


Auriez-vous un idée sur comment procéder?


Merci


Thierry

6 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
pourquoi veux-tu supprimer le xmlns ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008

Merci pour ton intérêt

C'est parce que sinon je ne peux pas l'atteindre dans mon XSLT.

Car je le passe en paramètre comme ceci:

XsltArgumentList lst =
new XsltArgumentList();

lst.AddParam(
"Fliesstext",
"", EHRAFliesstextXml.CreateNavigator().Select(
"."));

Il ne trouve pas mon noeud quand dans mon XSLT je fais:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="Fliesstext"/>
...
<xsl:copy-of select="$Fliesstext/TextList/textType"/>
...

Merci

Thierry
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
on peut avoir un exemple de ton fichier xml ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008

Oui pas de problème il est envoyé en string au webservice qui doit lui le mettre dans un XMLDocument et l'intégrer dans le XSLT:



<?xml version="1.0" encoding="UTF-8" standalone="no"?>



<
TextList
xmlns
"http://tes32.com/fdsfjs/dfmhfksd">Tagebuch89 27.09.2006 (TC/4:2/ZG-10772-2006-0005/CH-170.4.004.092-4)<textType AVnr"ZG-10772-2006-0005" Amt="170" CHNR="CH-170.4.004.092-4" FaktNr="150" GF="2" Lang="1" MutFlags="000000000000000000" RF="4" Stempel="2006-09-27T07:51:11" TBdatum="2006-09-27" TBnr="89" Version="0.1" Visum="TC" nextRef="2" type="TB"><nameActual>A &amp; C Design GmbH</nameActual>, in <seatActual>Zug</seatActual>, <number13>CH-170.4.004.092-4</number13>, Entwicklung und Ausführung von Bauprojekten, <LegalStatusActual>Gesellschaft mit beschränkter Haftung</LegalStatusActual> (SHAB Nr. 7 vom 14.01.2003, S. 16, Publ. 811124). Statutenänderung : 13.09.2006. Postadresse neu: fds jdjsj kfdsf dslk afjsdal fjasdkf super 23, 2314 La Sagne NE. Zweck neu: ; kann Zweigniederlassungen und Tochtergesellschaften im In- und Ausland errichten, sich an anderen Unternehmen im In- und Ausland beteiligen, Grundstücke erwerben, halten und veräussern sowie alle kommerziellen, finanziellen und anderen Tätigkeiten ausüben, welche mit dem Zweck der Gesellschaft im Zusammenhang stehen. Stammkapital neu: CHF 32'232.00 [bisher: 20'000.00]. Genussscheine neu: 5'456 Genussscheine, mit Rechten auf Anteil am Bilanzgewinn und am Liquidationserlös sowie auf den Bezug neuer Aktien und Partizipationsscheine gemäss Statuten. Publikationsorgan neu: SHAB. Ausgeschiedene Personen und erloschene Unterschriften: Eingetragene Personen neu oder mutierend: </textType>Eidg. G: 80.00 + 100.00 + 40 + 40 + 30 = 290.00 (Kapital 32'232.00)Belege: 1. Anmeldung</TextList>
Merci
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008

oops c'est bizzare il est pas venu comme il faut. Il faut Supprimer les espace dans la première balise (TextList) 

 
Messages postés
76
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
21 février 2008

Bonjour,

Je me permet de reposter car je n'ai toujours pas trouvé de solution satisfaisante pour régler le problème et j'aimerais savoir si vous aussi vous n'avez pas trouvez de solution ou si c'est parce que vous n'avez pas essayé?

Car pour l'instant ma solution est de mettre mon xml en string et de faire un replace!

Je ne trouve pas ceci très "malin" et j'aimerais bien trouver une meilleur solution car ce problème va souvent être présent dans le programme que je développe.

Merci

Thierry