2009-05-18 8 views
1

Je suis en train de produire cette déclaration XML (moins la mise en forme et les valeurs spécifiques):Comment puis-je obtenir cet extrait XML en utilisant .NET

<swatchcolor RGB="c5c5c5"> 
    <sldcolorswatch:Optical 
    Ambient="0.520000" 
    Transparency="0.000000" 
    Diffuse="0.800000" 
    Specularity="1.000000" 
    Shininess="0.400000" 
    Emission="0.000000" /> 
</swatchcolor> 

J'utilise ce morceau de code:

Public Sub ToXml(ByVal writer As XmlWriter) 
    writer.WriteStartElement("swatchcolor") 
    writer.WriteAttributeString("RGB", _rgb) 
    writer.WriteStartElement("sldcolorswatch", "Optical", My.Resources.xmlns) 
    writer.WriteAttributeString("Ambient", _ambient.ToString("####################.000000")) 
    writer.WriteAttributeString("Transparency", _transparency.ToString("####################.000000")) 
    writer.WriteAttributeString("Diffuse", _diffuse.ToString("####################.000000")) 
    writer.WriteAttributeString("Specularity", _specularity.ToString("####################.000000")) 
    writer.WriteAttributeString("Shininess", _shininess.ToString("####################.000000")) 
    writer.WriteAttributeString("Emission", _emission.ToString("####################.000000")) 
    writer.WriteEndElement() 
    writer.WriteEndElement() 
End Sub 

Malheureusement, je reçois le code XML suivant qui a la clause xmlns non désirée:

<swatchcolor RGB="c5c5c5"> 
    <sldcolorswatch:Optical 
    Ambient=".520000" 
    Transparency=".000000" 
    Diffuse=".800000" 
    Specularity="1.000000" 
    Shininess=".400000" 
    Emission=".000000" 
    xmlns:sldcolorswatch="http://www.w3.org/2000/xmlns/" /> 
</swatchcolor> 

Comment puis-je me débarrasser des "xmlns"? Je sais qu'il est là parce que je suis en utilisant le troisième paramètre de WriteStartElement, mais quand j'utilise la version à deux paramètres, il déplace le mot « optique » sur place, comme celui-ci:

<swatchcolor RGB="c5c5c5"> 
    <sldcolorswatch 
    Ambient=".520000" 
    Transparency=".000000" 
    Diffuse=".800000" 
    Specularity="1.000000" 
    Shininess=".400000" 
    Emission=".000000" 
    xmlns="Optical" /> 
</swatchcolor> 

Répondre

1

Je pense que vous voulez :

writer.WriteStartElement("sldcolorswatch", "Optical", "http://www.solidworks.com/sldcolorswatch"); 
+0

Juste par curiosité, comment avez-vous su que je travaillais avec SolidWorks? – scott8035

+0

I Google sldcolorswatch - l'espace de noms pour votre élément optique. – steamer25

Questions connexes