한 XML 문서의 노드를 다른 XML 문서의 노드로 바꾸려고합니다. XMLDOC2MSXML의 올바른 사용 replaceChild
<pages>
<page id="1">
<content>Second Document</content>
</page>
</pages>
: XMLDOC1
<pages>
<page id="1">
<content>First Document</content>
</page>
</pages>
다른 XML 문서 구조에서 동일한입니다 :
Insert position node must be a Child of the node to insert under.
이 내 XML의 단순화 된 버전입니다 : 나는 다음과 같은 오류를 받고 있어요
첫 번째 문서의 페이지 노드를 두 번째 문서의 페이지 노드로 바꿔야합니다. 내 시도는 다음과 같습니다.
firstNode = xmlDoc1.selectSingleNode("//page[@id=1]")
secondNode = xmlDoc2.selectSingleNode("//page[@id=1]")
xmlDoc1.replaceChild(firstNode, oldNode)
감사합니다.
해결
firstNode.parentNode.replaceChild(xmlDoc1.importNode(secondNode, true), firstNode)
예, 오타가있었습니다. 내 코드를 업데이트했고 완벽하게 작동합니다 (업데이트 된 질문 참조). importNode 비트에 대해 설명해 주셔서 감사합니다. 나는 다른 곳에서 그걸 알아 차 렸지만 그 이유는 확실하지 않았습니다. – scader