Коли я телефоную XmlNode.AppendChild(), я отримую цю помилку:
Вузол, який потрібно вставити, є з іншого контексту документа.
static public XmlNode XMLNewChildNode(XmlNode oParent, string sName,
string sNamespaceURI, string sNodeType)
{
XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);
oParent.AppendChild(oNode);
return oNode;
}
Цей код був перетворений з його VB 6.0 версії, яка була такою (будь ласка, ігноруйте необов'язкові параметри, у мене є перевантаження в 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
Чому код VB працює, коли C # не працює? Чи є відмінності між тим, як VB і C # обробляють XML, про що мені потрібно знати?