ما هو وسيلة سهلة الاستخدام لنقل XmlNode من واحد XmlDocument إلى آخر؟

StackOverflow https://stackoverflow.com/questions/184486

  •  06-07-2019
  •  | 
  •  

سؤال

ولقد اثنين من XmlDocuments وأود أن نقل XmlNode مختارة من واحدة من الوثائق وإلحاقها في موقع معين في وثيقة أخرى.

وهذا النهج بديهية بسذاجة من مجرد الدعوة AppendNode (xmlNodeFromDocument1) في المكان المناسب من الوثيقة 2، وبطبيعة الحال لا تعمل لأن الطريقة لا تأخذ الرعاية من التلاعب وثيقة امتلاك.

وأخيرا وجدت الجواب حرفيا كما كنت أكتب عن هذا السؤال، ولكن نظرا لأنه استغرق وقتا طويلا بالنسبة لنا للعثور عليه في الفئات System.Xml، كنت احسب أن وظيفة هنا لمساعدة أي شخص آخر عالقا البحث عن ذلك.

هل كانت مفيدة؟

المحلول

وتحتاج إلى استدعاء ImportNode على الوثيقة المستهدفة للحصول على عقدة متوافقة مع وثيقة تستهدفها. توضح التعليمة البرمجية التالية كيف يتم ذلك في C #.

public void CopyExample()
{

   XmlNode nodeFromDifferentDocument = SelectNodeFromSourceDocument();
   XmlDocument targetDocument = InitializeTargetDocument();
   XmlNode targetParentNode = SelectNodesParentWithinTargetDocument(targetDocument);
   bool shouldDodeepCopy = DoIWantADeepCopy();

   XmlNode copyThatBelongsToTargetDocument = 
      targetDocument.ImportNode(nodeFromDifferentDocument, shouldDoDeepCopy);
   targetParentNode.AppendChild(copyThatBelongsToTargetDocument);

}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top