2016-08-18 2 views
0

以下の関数でこのエラーが発生しています。挿入するノードが別のドキュメントコンテキストからのものです

Public Function GetXmlEnvironment(ByVal xmlTree As XmlNode, ByVal objUser As XTUser, ByVal objModule As XTModuleInfo, ByVal objProject As XTProject, ByVal objPage As IXTPage) As XmlNode 

    Dim objXml As XmlDocument = New XmlDocument() 
    Dim xmlEnvironment As XmlElement 

    xmlEnvironment = objXml.CreateElement("Environment") 
    If (xmlTree.HasChildNodes()) Then 
     xmlTree.FirstChild.AppendChild(xmlEnvironment) ' Error occurs here 
    End If 
' ... 
End Function 

XmlElementをXmlNodeに変換する必要がありますか?

+2

新しいXmlDocumentではなく新しい要素を作成するには、xmlTree.FirstChildのOwnerDocumentを使用します。 – Will

+0

@パフェット、タイトルはエラーです。 –

+0

私はそれを追加する前にノードを 'import'すると言うつもりでした... – Codexer

答えて

1
Public Function GetXmlEnvironment(ByVal xmlTree As XmlNode, ByVal objUser As XTUser, ByVal objModule As XTModuleInfo, ByVal objProject As XTProject, ByVal objPage As IXTPage) As XmlNode 
    Dim objXml As XmlDocument = New XmlDocument() 
    Dim xmlEnvironment As XmlElement 
    xmlEnvironment = objXml.CreateElement("Environment") 
    If (xmlTree.HasChildNodes()) Then 
    xmlTree.FirstChild.AppendChild(xmlTree.OwnerDocument.ImportNode(xmlEnvironment, True)) 
    End If 
    '...' 
End Function 
関連する問題