Я пытаюсь изменить XML-документ, который мы не создали изначально. Snippit из XML ниже:C# XML дочерний узел аналогичного родного брата
<DEALS>
<DEAL>
<LOANS>
<LOAN LoanRoleType="SubjectLoan">
<BUYDOWN>
<BUYDOWN_RULE>
<BuydownInformation>0</BuydownInformation>
</BUYDOWN_RULE>
</BUYDOWN>
</LOAN>
<LOAN LoanRoleType="SubjectLoan">
<LOAN_IDENTIFIERS>
<LOAN_IDENTIFIER>
...
</LOAN_IDENTIFIER>
<LOAN_IDENTIFIER>
<SellerLoanIdentifier>1234567890</SellerLoanIdentifier>
</LOAN_IDENTIFIER>
</LOAN_IDENTIFIERS>
</LOAN>
</LOANS>
</DEAL>
<DEAL>
...Same format as above...
</DEAL>
</DEALS>
Первый LOAN
элемент каждого DEAL
никогда не будет содержать LOAN_IDENTIFIERS
. Мне нужно получить InnerText SellerLoanIdentifier
, а затем поместить его в <BuydownInformation>
первого элемента LOAN
. Я пробовал вложенные циклы и, похоже, не мог отличить два элемента LOAN
(второй цикл даже не видит элементы LOAN
). Я думаю, что это также связано с тем фактом, что они оба несут один и тот же атрибут, но не могут найти что-либо в Интернете до этого момента, чтобы помочь.
XmlDocument xmlExport = new XmlDocument();
xmlExport.Load(fileDestination);
string loanNumber = "";
XmlNodeList loan_XMLDeals = xmlExport.GetElementsByTagName("DEAL");
Logger.WriteDebug("Found " + loan_XMLDeals.Count + " Deals");
foreach (XmlNode loan_XMLDeal in loan_XMLDeals)
{
XmlNodeList loan_XMLLoans = loan_XMLDeal.SelectNodes("LOAN");
Logger.WriteDebug("Found " + loan_XMLLoans.Count + " Loan categories");
foreach (XmlNode loan_XMLCategory in loan_XMLLoans)
{
if(loan_XMLCategory.SelectSingleNode("SellerLoanIdentifier") != null)
{
loanNumber = loan_XMLCategory.SelectSingleNode("SellerLoanIdentifier").ToString();
Logger.WriteDebug("Got loan number " + loanNumber);
}
}
}
Не помещайте Google Искать в названии вашего вопроса, если это не то, что вы на самом деле просят. Если это так, вам нужно уточнить немного больше в своем сообщении. –
Итак, ровно 2 'LOAN' элемента на' DEAL', скопируйте (вложенное) значение 'SellerLoanIdentifier' второго элемента' LOAN' в (вложенный) 'BuydownInformation' первого элемента' LOAN'? Верный? – spender
Да @spender это правильно. – cardmstr