【问题标题】:LINQ-to-XML Error "is not a member of 'String'"LINQ-to-XML 错误“不是‘字符串’的成员”
【发布时间】:2010-03-24 15:01:45
【问题描述】:

以下代码从 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>

【问题讨论】:

    标签: vb.net linq-to-xml


    【解决方案1】:

    看看你在选择什么:

    Select sum...<DisplayTitle>.Value
    

    Value 属性返回一个字符串 - 所以summary 变量的类型是IEnumerable(Of String)

    你可能只需要:

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

    ...假设您不需要任何 HTML 转义,请注意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多