2013-09-25 6 views
0

Я использую XDocument для записи xml-файла, и я пишу в документ в двух разных местах. После первой записи я имеюКак вставить дочерний элемент в существующий элемент

<?xml version="1.0" encoding="utf-8"?> 
<suspensedata connectionid="000" customerid="000" name="MyName" /> 

После второй записи я хочу файл, чтобы посмотреть, как этот

<?xml version="1.0" encoding="utf-8"?> 
<suspensedata connectionid="560" customerid="131" name="ImgTransfer2327"> 
    <transaction DocumentID="46" SuspenseID="7"> 
    <field id="LocationID">000000015000</field> 
    <field id="AccountNumber">50000</field> 
    <field id="AmountPaid">25.00</field> 
    <field id="CheckAmount">100.00</field> 
    <field id="CheckNo">000</field> 
    </transaction> 
</suspensedata> 

Но я не могу показаться, чтобы получить вставку сделано правильно.

Я пробовал (имя моего XDocument является ValidXml) ValidXml.Root.Add(new Element("transaction")); и это ничего не меняет.

Я также пробовал ValidXml.Element("suspensedata").Add(new XElement("transaction")); Но это тоже не сработало.

Как бы добавить этот дочерний элемент?

РЕДАКТИРОВАТЬ: Обе попытки не произвели никакого другого выхода, кроме выхода с первой попытки. Кроме того, я сделал убедитесь, что использовать ValidXml.Save()

+0

это может быть тем же вопрос: http://stackoverflow.com/questions/8558763/xelement-add-children-nodes-at-run-time – mrtig

+0

Что вы получите? Не ввел ли вход или недействительный ввод? – Vulcronos

+0

@ Vulcronos IT не выпускал новый выход. Я редактировал свой вопрос. –

ответ

1

Я пытался что-то вроде этого я предположил, что эти две части находятся в 2 файлах

// xmlfile1 содержит первая часть

<?xml version="1.0" encoding="utf-8"?> 
    <suspensedata connectionid="000" customerid="000" name="MyName" /> 

// эта часть будет загружен как этот

XDocument xDoc = XDocument.Load("xmlfile1.xml"); 
     XElement elt = xDoc.Root; 

// и второй файл содержит вторую часть

  XDocument xDoc2 = XDocument.Load("xmlfile2.xml"); 
     XElement elt2 = xDoc2.Root; 
     elt.Add(elt2); 
     xDoc.Save("xmlfile1.xml"); 

Надеется, что это поможет

+0

IT сделал работа. Большое спасибо. :) –

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