2
Linq to XML我很新Linq to SQL,但將一些代碼拼湊在一起,將存儲過程的XML結果放入XElement中。然而,它開始失敗,顯然現在XML數據越來越大(2K +),而我的.Parse正在讀取截斷的XML(XML數據返回兩行)。在我開始用xmlReaders和所有這些開始摸索雜草之前,也許我看着這個錯誤,並有更好的方法。如何將大型XML RAW從Linq讀取到SQL?
我確切的問題在下面,但我也很好奇任何標準的Linq成語做這種事情。
我得到特定的錯誤是
System.Xml.XmlException:意外的文件 結束在解析名稱有 發生。 1號線位置2034
我的C#代碼是這樣的
XDocument orders = new XDocument(from b in db.GetUserOrders(userid)
select XElement.Parse(b.XML_F52E5B62_58B1_21e2_B105_00805A49AB12));
存儲的過程看起來像
select * from orders where userid = @userid order by tscreated
for xml raw('order'), ROOT('orders')
的XML從存儲過程返回看起來像
<orders>
<order OrderId="123" UserId="bob" tscreated="2010-07-16T16:46:46.173">
<morexml>
<element1>
<element2>abc</element2>
<!--more stuff-->
</element1>
</morexml>
</order>
<!--lots more orders-->
</orders>
xml結果有多大?一切看起來都很正常...... – 2010-07-19 20:38:40
可能相當大,即。幾個K.它看起來像xml回來兩行,所以我可能需要某種讀者或迭代器或某事,但在混合東西之前,我很好奇什麼是「正確」的方式來做到這一點。謝謝。 – 2010-07-20 12:59:48
是的,你需要讀取所有行並連接它們。 – 2010-07-20 14:16:49