Ошибка LINQ-to-XML "не является членом 'String'" - PullRequest
0 голосов
/ 24 марта 2010

Следующий код возвращает ошибку из цикла For Each. У меня есть аналогичный код, который не возвращает ошибку.

DisplayTitle не является членом Sting

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>

1 Ответ

2 голосов
/ 24 марта 2010

Посмотрите, что вы выбираете:

Select sum...<DisplayTitle>.Value

Свойство Value возвращает строку - поэтому тип переменной summary равен IEnumerable(Of String).

Вам, вероятно, просто нужно:

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

... при условии, что вам не нужно экранирование HTML, заметьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...