Kiedy wzywam XmlNode.AppendChild()
, otrzymuję ten błąd:Błąd: „Węzeł być włożona jest z innym kontekście dokumentu”
The node to be inserted is from a different document context.
static public XmlNode XMLNewChildNode(XmlNode oParent, string sName,
string sNamespaceURI, string sNodeType)
{
XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);
oParent.AppendChild(oNode);
return oNode;
}
Kod ten został przekształcony z jego VB wersji 6.0, która była to (proszę ignorować opcjonalne parametry, mam przeciążeń dla nich w C# wersji):
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
Dlaczego praca kod VB a C# nie? Czy istnieją różnice między tym, jak XML obsługujący VB i C#, które muszę mieć świadomość?
Thanks Sir! ImportNode ma dwie paramy ... druga dotyczy deepClone ... Jak mogę zdecydować, czy powinienem przekazać True lub False? – Bohn
@BDotA true, jeśli chcesz zaimportować węzeł i wszystkie jego elementy podrzędne; false, jeśli chcesz tylko zaimportować węzeł najwyższego poziomu. –
dzięki ... Próbowałem zarówno true i false i otrzymuję Null Ref Exception na linii ImportNode ... jest nadal coś z moich kodów XML? czy ten jest związany z danymi, które przekazuję? – Bohn