[英]Query with Linq to xml
我是Linq的新手,我試圖編寫一個簡單查詢以返回xml文件中的錯誤消息。
<?xml version="1.0" encoding="utf-8"?>
<Error xmlns="urn:xxxxx">
The following errors were detected:
<Message>Internal Error</Message></Error>
以下工作並返回錯誤消息:
Dim loaded As XDocument = XDocument.Parse(strReturn)
Dim ns As XNamespace = "urn:xxxxx"
Dim errors = From err In loaded.Descendants(ns + "Error") _
Select err.Elements(ns + "Message").Value
但是以下內容不會返回任何結果:
Imports <xmlns="urn:xxxxx">
Dim loaded As XDocument = XDocument.Parse(strReturn)
Dim errors = From err In loaded.Descendants.<Error> _
Select err.Elements.<Message>.Value
我只是想更好地了解Linq,但是有人可以告訴我為什么后者不能正常工作,因為他們倆都不會返回相同的結果嗎?
提前致謝
編寫.<Error>
會調用Elements方法,因此,當您調用err.Elements.<Message>
您正在執行err.Elements.Elements("Message")
並獲取err子級的子級,而不僅僅是它的子級。孩子們。 只需刪除對后代和元素的額外調用。 您將需要使用...
而不是.
如果您要加載后代而不是子代。
Dim errors = From err In loaded...<Error> _
Select err.<Message>.Value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.