如何使用.NET
问题描述:
我想生产这种XML语句(减去格式和具体数值)达到这个XML摘录:如何使用.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>
我使用这个块的代码:
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
不幸的是,我得到了下面的XML具有不必要的xmlns条款:
<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>
我怎样才能摆脱“的xmlns”的?我知道它的存在,因为我使用WriteStartElement的第三个参数,但是当我使用这两个参数的版本,它会将单词“光”出来的地方,像这样:
<swatchcolor RGB="c5c5c5">
<sldcolorswatch
Ambient=".520000"
Transparency=".000000"
Diffuse=".800000"
Specularity="1.000000"
Shininess=".400000"
Emission=".000000"
xmlns="Optical" />
</swatchcolor>
答
我想你想:
writer.WriteStartElement("sldcolorswatch", "Optical", "http://www.solidworks.com/sldcolorswatch");
出于好奇,您是怎么知道我在使用SolidWorks? – scott8035 2009-05-18 20:47:59