2010-03-24 22 views
0

以下代碼返回For Each循環中的錯誤。我有類似的代碼,不會返回錯誤。LINQ-to-XML錯誤「不是」字符串「的成員」

'DISPLAYTITLE' 不是 '刺' 中的一員

Dim evXML As XDocument = XDocument.Load(Server.MapPath("~/App_Data/event.xml")) 

Dim sbEventDetail As New StringBuilder() 
Dim summary = _ 
From sum In evXML.<root>.Elements() _ 
Select sum...<DisplayTitle>.Value 

For Each item In summary 
    sbEventDetail.Append("<h4>" & item.DisplayTitle & "</h4>") 
Next 

的XML:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <StartTime>2010-03-05T16:00:00</StartTime> 
    <EndTime>2010-03-06T02:00:00</EndTime> 
    <Duration>10:00:00</Duration> 
    <DisplayTitle>MARCH MADNESS</DisplayTitle> 
    <Location>565 Main St</Location> 
    <IsAllDay>False</IsAllDay> 
    <Recurrence> 
    <OriginatingTimeZone>Eastern Standard Time</OriginatingTimeZone> 
    <RecurrenceType>0</RecurrenceType> 
    <RecurrenceEndDate>9999-12-31T23:59:59</RecurrenceEndDate> 
    </Recurrence> 
    <IsVariance>False</IsVariance> 
    <IsCancelled>False</IsCancelled> 
    <OriginalStart>0001-01-01T00:00:00</OriginalStart> 
</root> 

回答

2

看什麼你選擇:

Select sum...<DisplayTitle>.Value 

的Value屬性返回一個字符串 - 所以summary變量的類型是IEnumerable(Of String)

你可能只需要:

For Each item In summary 
    sbEventDetail.Append("<h4>" & item & "</h4>") 
Next 

...假設你不需要任何HTML轉義,你介意。

+0

謝謝John! – mmcglynn 2010-03-24 15:09:03

相關問題