반응형
오류: "삽입할 노드가 다른 문서 컨텍스트에 있습니다."
내가 전화할 때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
C#은 작동하지 않는 반면 VB 코드는 작동하는 이유는 무엇입니까?VB와 C#가 XML을 처리하는 방식에 차이가 있습니까?
노드를 추가하기 전에 문서로 가져와야 합니다.
XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);
//necessary for crossing XmlDocument contexts
XmlNode importNode = oParent.OwnerDocument.ImportNode(oNode, true);
oParent.AppendChild(importNode);
return oNode;
언급URL : https://stackoverflow.com/questions/3019136/error-the-node-to-be-inserted-is-from-a-different-document-context
반응형
'programing' 카테고리의 다른 글
오래된 도커 컨테이너를 제거하는 방법 (0) | 2023.11.02 |
---|---|
iOS 8에서 팝업을 올바르게 표시하는 방법 (0) | 2023.11.02 |
우커머스를 카트 URL에 추가 (0) | 2023.11.02 |
mariadb의 "With As"를 변경하는 다른 방법 (0) | 2023.11.02 |
선언은 Swift 1.2의 '최종' 오류와 '동적' 오류 모두일 수 없습니다. (0) | 2023.11.02 |