2015-06-01 3 views
0

Я пытаюсь вставить XML-файл в `` основной '' XML. Я попытался это, используя следующий код:importNode before LastChild

XmlNode node = xmldoc.ImportNode(secondXmlDoc.DocumentElement.LastChild, true); 
xmldoc.DocumentElement.AppendChild(node); 

Теперь, мой последний ребенок </Document>, но я хочу, чтобы вставить другой XML одного ребенка до того, что один. Можно ли вернуться к одному ребенку?

UPDATE

Я пытался использовать InsertBefore так:

XmlDocument main = new XmlDocument(); 
XmlDocument toMain = new XmlDocument(); 
main.Load(path); 
toMain.Load(path); 

XmlNode node = main.ImportNode(toMain.DocumentElement, true); 
XmlNode refNode = main.SelectSingleNode("/ObjectList"); 
main.DocumentElement.InsertBefore(node, refNode); 
main.Save(path); 

Мой файл XML выглядит следующим образом:

...... 
...... 
<ObjectList>insert toMain here</ObjectList> 
</Document> // end of XML file 

UPDATE 2

К сожалению, SelecSingleNode дал мне ссылку null, это как-то связано с пространством имен. Теперь он работает.

+1

Пожалуйста, смотрите [ "Должны ли вопросы включают„метки“в их названиях?"] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), где консенсус «нет, они не должны»! –

ответ

0

Используйте InsertBefore, передавая узел, который вы хотите вставить раньше.

Например.

xmldoc.DocumentElement.InsertBefore(newNode, xmlDoc.DocumentElement.LastChild); 
+0

Я уже принял ваше решение. Но что, если я хочу вернуться с двумя или тремя детьми? – Pim

+0

@ user3185388 Вам необходимо передать узел, который вы хотите вставить перед API (или использовать 'InsertAfter' с узлом раньше). Это становится вопросом получения ссылки на относительный узел: существует множество способов сделать это в зависимости от требований, но вам нужно будет определить документ и эти требования для его работы (и это выходит за рамки редактирования для существующий Q на [SO]). – Richard

+0

Я обновил свой вопрос, все еще не понял, понял, проверил множество других тем, но для меня это не сработало – Pim

Смежные вопросы