簡體   English   中英

用Linq查詢到xml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM