2010-05-27 6 views
9

Im tratando de crear un xml el debería tener este aspectoCómo agregar XMLNamespace a un XmlDocument

<?xml version="1.0" encoding="iso-8859-1"?> 
<MyTestSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Tests> 
    <Test> 
     <messaure>1</messaure> 
     <height>4</height> 
    </Test> 
    <Test> 
     <messaure>4</messaure> 
     <height>53</height> 
    </Test> 
    </Tests> 
</MyTestSet> 

No es un problema para crear las pruebas o elementos de prueba, pero lo que es la mejor manera de crear el " MyTestSet "incluidos los espacios de nombres? Im usando C# XMLDocument

Respuesta

20

Esto funciona para mí:

XmlDocument.DocumentElement.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
XmlDocument.DocumentElement.SetAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); 

Si desea crear todo el documento que has enviado, es posible que no quiero olvidar la declaración XML:

 XmlDeclaration xml_declaration; 
     xml_declaration = XmlDocument.CreateXmlDeclaration("1.0", "ISO-8859-1", "yes"); 

     XmlElement document_element = XmlDocument.DocumentElement; 
     XmlDocument.InsertBefore(xml_declaration, document_element); 

En ciertos casos, es posible que lo necesite.

+1

Funciona perfectamente .... –

0

No necesita los espacios de nombres xsd y xsi ya que no los usa. Cualquier pieza de código que requiera que estén allí está muy deteriorada y debería repararse o publicitarse en ridículo.

+0

¿Por qué el voto a favor? –

+7

Personalmente rechazado porque esto no es constructivo y no responde la pregunta. La pregunta era "¿cómo puedo hacer esto?" Y no "debería hacer esto". – shortstuffsushi

Cuestiones relacionadas