2010-03-24 2 views
0

다음 코드는 For Each 루프에서 오류를 반환합니다. 오류를 반환하지 않는 비슷한 코드가 있습니다.LINQ-to-XML 오류 "가 'String'의 구성원이 아닙니다."

'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

존 감사합니다! – mmcglynn

관련 문제