C # - Get Exception пытается заменить XmlNode на другой [дубликат]

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

91
задан Ian Kemp 7 May 2015 в 15:43
поделиться

1 ответ

Вам нужно импортировать узел в документ, прежде чем добавить его:

XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);

//necessary for crossing XmlDocument contexts
XmlNode importNode = oParent.OwnerDocument.ImportNode(oNode, true);

oParent.AppendChild(importNode);
return oNode;
169
ответ дан Rex M 19 August 2018 в 07:00
поделиться
  • 1
    Спасибо, сэр! ImportNode принимает два параметра ... второй для deepClone ... Как я могу решить, должен ли я передавать True или False на него? – Bohn 11 June 2010 в 00:26
  • 2
    @BDotA true, если вы хотите импортировать узел и все его дочерние элементы; false, если вы просто хотите импортировать узел верхнего уровня. – Rex M 11 June 2010 в 00:28
  • 3
    @BDotA отладить и выяснить, какой объект имеет значение null – Rex M 11 June 2010 в 00:32
  • 4
    если OwnerDoccument равно null; ImportNode(.. следует вызвать на oParent? – Dog Ears 24 February 2011 в 13:02
  • 5
    ... да, oParent.ImportNode(oNode, true); – KCD 15 March 2013 в 05:02
Другие вопросы по тегам:

Похожие вопросы: