我有兩個XELEMENTS XR
和XTemp
。從XELEMENT var + LINQ中提取符合條件的所有元素到XML
MY XR
包含:
<result xmlns="http://abc.com/test">
<report>
<unit unit_number="1" id="S1">
<classification>Subject</classification>
<claim_reported count="0" status="No claims reported" />
</unit>
<unit unit_number="2" id="S2">
<classification>Subject</classification>
<claim_reported count="0" status="No claims reported" />
</unit>
<unit unit_number="3" id="V1">
<classification>Vehicle</classification>
<claim_reported count="1" status="Claims reported" />
</unit>
......
</report>
</result>
我XTemp
包含:
<result xmlns="http://abc.com/test">
<report>
<unit unit_number="1" id="S3">
<classification>Subject</classification>
<claim_reported count="1" status="Claims reported" />
</unit>
<unit unit_number="2" id="S4">
<classification>Subject</classification>
<claim_reported count="4" status="Claims reported" />
</unit>
<unit unit_number="3" id="V2">
<classification>Vehicle</classification>
<claim_reported count="0" status="No claims reported" />
</unit>
<unit unit_number="3" id="V3">
<classification>Vehicle</classification>
<claim_reported count="2" status="Claims reported" />
</unit>
......
</report>
</result>
試圖基於某種condtion從XTemp
提取所有<unit>
元素,並將它們添加到XR
。
條件是:獲取其ID爲「V」開頭的所有<unit>
元素。
下面的代碼是我能夠想到的最好的代碼。
但是,我得到了Object reference not set to an instance
錯誤。
XR.Descendants(xmlns + "unit").LastOrDefault().AddAfterSelf(XTemp.Descendants(xmlns + "unit")
.Where(x => x.Element(xmlns + "unit").Attribute("id").Value.ToUpper().Contains("V")));
在此先感謝
BB
您是否介意包含您正在使用的XML片段以及導致該行的其他代碼?不要讓我們更難了解你的情況,給我們提供我們需要的信息,不要指望我們必須解決它。 – 2011-06-02 01:21:45