[英]Having problem in C# getting value from an XML subnode
我試圖在循環另一個節點的同時循環一個子節點。 我正在使用的代碼是(很多處理代碼與刪除的問題無關)。
private void InsertLineItems(IEnumerable<XElement> BillingCode, int visitId)
{
if (BillingCode != null)
{
using (var visitRepo = db.GetVisitRepository())
{
foreach (var item in BillingCode)
{
if (item.Element("Code").Attribute("value").Value.Length < 9)
{
foreach (var icditem in item.Descendants("ICD10List"))
{
var icd10code = item.Element("ICD10List").Element("ICD10Code").Attribute("value");
}
}
}
}
}
)
解析以下 XML
<BillingCodes>
<BillingCodeDTO>
<Code value="73100"/>
<Description value="X-ray left lower leg"/>
<Quantity value="1"/>
<ICD10List>
<ICD10Code value="Y34.9"/>
<ICD10Code value="Y34.99"/>
<ICD10Code value="M79.9"/>
</ICD10List>
</BillingCodeDTO>
<BillingCodeDTO>
<Code value="74120"/>
<Description value="X-ray left foot"/>
<Quantity value="1"/>
<ICD10List>
<ICD10Code value="Z03.9"/>
</ICD10List>
</BillingCodeDTO>
</BillingCodes>
我遇到的問題是,在循環 ICD10List 時,它只返回第一個值。 讓它循環遍歷所有值我哪里錯了? 我確實嘗試使用 ICD10Code 作為循環(下面的代碼,只是更改了 foreach),它循環了正確的次數,但每次都返回相同的值。
foreach (var icditem in item.Descendants("ICD10List").Descendants("ICD10Code"))
{ var icd10code = item.Element("ICD10List").Element("ICD10Code").Attribute("value");}
a)您只有一個變量,您需要重新分配。 最后你想使用一個列表或其他東西。
b)您應該使用icditem
變量而不是訪問固定元素。 良好的 IDE 將指示有關未使用變量的警告。
foreach (var icditem in item.Descendants("ICD10List").Descendants("ICD10Code"))
{
var icd10code = icditem .Attribute("value");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.