Использование SelectSingleNode для поиска элемента с определенным значением атрибута - PullRequest
0 голосов
/ 25 февраля 2020

Вот основы c XML:

<WeekendMeeting Date="2020-04-05" StartTime="10:00" Title="Weekend Meeting" EventDuration="105" Included="true" AwayTalksAssigned="false" CircuitVisit="false">
    <Location>Text</Location>
    <Assignments>
        <Chairman> </Chairman>
        <Hospitality> </Hospitality>
        <Interpreter> </Interpreter>
        <Misc> </Misc>
    </Assignments>
    <HomeTalk>
        <Speaker>To Be Arranged</Speaker>
        <Congregation>Text</Congregation>
        <Theme>Text</Theme>
    </HomeTalk>
    <WatchtowerStudy>
        <Conductor> </Conductor>
        <Reader> </Reader>
        <Theme>We Will Go With You</Theme>
    </WatchtowerStudy>
</WeekendMeeting>

Теперь у меня есть этот VB. Net код:

Dim nodeWeekend As XmlNode = nodeWeek.SelectSingleNode("WeekendMeeting")
If (Not nodeWeekend Is Nothing) Then
    sEvent = CreateEventMWBWeekend(nodeWeekend, sEventSettings, strEventType, bCreated)
    If (bCreated) Then
        ' Add the weekend event to the Google Calendar
        If (Not AddEventToCalendar(strEventType, sEvent, sEventSettings, strCalendarID, oBatchRequest)) Then
        End If
    End If
End If

Приведенный выше код работает, но как как только я поменяю его на использование:

Dim nodeWeekend As XmlNode = nodeWeek.SelectSingleNode("WeekendMeeting[@Included='true']")

Не работает. Это не найти элементов. Почему? Из того, что я могу сказать, я передаю правильный xpath.

1 Ответ

0 голосов
/ 25 февраля 2020

Оказывается, мой VB. Net использует 1 для true, поэтому мне пришлось использовать:

Dim nodeWeekend As XmlNode = nodeWeek.SelectSingleNode("WeekendMeeting[@Included='1']")

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