2010-03-01 2 views
1

Je convertis mes codes de modèle d'objet InfoPath 2003 en code managé InfoPath 2007, je souhaite ajouter un attribut et des noeuds enfants à une section de formulaire sur un événement de chargement de formulaire (FormEvents_Loading) . Je veux mettre à jour la section suivante:InfoPath 2007 - Ajout d'un attribut et childNodes via le code managé

je devais ajouter un attribut à mstns: SpecificBook nœud et quelques noeuds enfants. Le résultat devrait être:



Mon InfoPath 2003 Code modèle objet

Pour Ajout et Définir les valeurs d'attribut:

flag = TheXDocument.DOM.createAttribute ("actif") prereqsNode.attributes.setNamedItem (flagNode) .text = "True"

newNode = doc.CreateNode (NodeTypeElemt, FromNamespacePrefix, "Livre", FormNamespace)

 specificBookAttrib = newNode.OwnerDocument.CreateAttribute("BookId") 
     specificBookIdAttrib.Value = “anybook” 
     newNode.Attributes.Append(specificBookIdAttrib) 

SpecificBookNode.AppendChild (newNode)

Quelqu'un peut-il me aider à convertir la ligne ci-dessus l'utilisation Gérer code?

Répondre

1

Depuis que je pourrais créer un nouvel attribut parce que le sampledata.xml avait une valeur par défaut bien que mes Template.xml n'en aient aucun; Je ne pouvais pas définir cette valeur parce qu'elle était en lecture seule. prereqsNode = navigator.SelectSingleNode (« // mstns: SpecificBook », Me.NamespaceManager)

* Erreur « attribut en double » prereqsNode.CreateAttribute ("", "areLoaded", "", "true")

erreur « lecture seule » prereqsNode.SetValue ("true") *

J'ai décidé de créer un nouveau XmlDocument:

  • créer un nouvel attribut remplacer le

  • mstns entiers: nœud SpecificBook

J'ai aussi utilisé XmlDocument pour créer les childNodes, convertir le nœud navigateur et puis ajouter childNodes.

Dim doc Comme XmlDocument = new XmlDocument Dim newNode Comme XmlNode Dim activeAttrib Comme XmlAttribute

activeAttrib = newNode.OwnerDocument.CreateAttribute ("actif") activeAttrib.Value = True newNode.Attributes.Append (activeAttrib)

specificBookNode.ReplaceSelf (newNode.OuterXml)

Questions connexes