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>
Juste par curiosité, comment avez-vous su que je travaillais avec SolidWorks? – scott8035
I Google sldcolorswatch - l'espace de noms pour votre élément optique. – steamer25