2009-06-22 4 views
3

Je suis en train de construire XmlDocument de sorte qu'après sérialisation je pouvais faire quelque chose comme ce xml:Comment puis-je créer XmlDocument avec de nombreux espaces de noms xml dans un seul noeud?

<?xml version="1.0" encoding="UTF-8"?> 
<wnio:element xmlns:wnio="somuri" xmlns:xf="abcd"> 
    <xf:nestedelement>somtext</xf:nestedelement> 
</wnio:element> 

Les choses est que XmlElement permet de spécifier un seul espace de noms via les propriétés NamespaceURI et Prefix. Comment puis-je accomplir ce genre de fonctionnalité?

+0

Est-ce réellement "sérialisation" (tags)? Ou juste 'XmlDocument' travail. Si vous ne voulez pas dire sérialisation, veuillez ignorer ma réponse à propos de 'XmlSerializer'. –

Répondre

3

Les attributs "xmlns: wnio" et "xmlns: xf" sont des attributs comme les autres. Ajoutez-les simplement à l'élément XmlElement auquel vous souhaitez que ces espaces de noms XML s'appliquent.

L'extrait suivant produit presque exactement ce que vous voulez:

XmlDocument document = new XmlDocument(); 
document.AppendChild(document.CreateElement("wnio", "element", "somuri")); 
document.DocumentElement.SetAttribute("xmlns:xf", "abcd"); 
document.DocumentElement.AppendChild(document.CreateElement("xf", "nestedelement", "abcd")); 
Questions connexes