Erreur: “Le nœud à insérer à partir d'un autre document de contexte”
Quand je fais appel XmlNode.AppendChild()
, j'obtiens cette erreur:
Le nœud à insérer à partir d'un autre document de contexte.
static public XmlNode XMLNewChildNode(XmlNode oParent, string sName,
string sNamespaceURI, string sNodeType)
{
XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);
oParent.AppendChild(oNode);
return oNode;
}
Ce code a été converti en VB 6.0 version qui a été présent (s'il vous plaît ignorer les paramètres facultatifs, j'ai surcharges pour eux dans la version C#):
Public Function XMLNewChildNode(ByVal oParent As IXMLDOMNode, ByVal _
sName As String, Optional ByVal sNamespaceURI As String = "", _
Optional ByVal sNodeType As String = "element") As IXMLDOMNode
'**************** DESCRIPTION *******************
'Create a new Child Node for passed Parent.
'***************** VARIABLES ********************
Dim oNode As IXMLDOMNode
'************************************************
Set oNode = moDoc.createNode(sNodeType, sName, sNamespaceURI)
Call oParent.appendChild(oNode)
Set XMLNewChildNode = oNode
End Function
Pourquoi le code VB de travail alors que le C# n'est pas? Existe t il des différences entre la façon dont les VB et C# gérer XML, que j'ai besoin d'être au courant?
Vous devez vous connecter pour publier un commentaire.
Vous devez importer le nœud dans le document avant d'ajouter:
OwnerDoccument
est nulle;ImportNode(..
doit être appelée suroParent
?oParent.ImportNode(oNode, true);