最初に作成しなかったXML文書を修正しようとしています。 XMLからSnippitは以下の通りです:各DEAL
の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
要素がLOAN_IDENTIFIERS
が含まれることはありません。私はSellerLoanIdentifier
のInnerTextを取得し、それを最初のLOAN
要素の<BuydownInformation>
に入れる必要があります。私はネストされたループを試しましたが、2つのLOAN
要素を区別することができませんでした(2番目のループは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);
}
}
}
を試してみてください。そうであれば、あなたのポストでもう少し明確にする必要があります。 –
'DEAL'ごとに正確に2つの' LOAN'要素があり、第2の 'LOAN'要素の' SellerLoanIdentifier'の値を第1の 'LOAN'要素の' BuydownInformation'(入れ子)にコピーしますか?正しい? – spender
はい@spenderは正しいです。 – cardmstr