Использование XmlReader в Vb.net, как обрабатывать, когда ReadToFollowing не возвращает значение - PullRequest
3 голосов
/ 19 апреля 2011

Если я использую

xmlCommand.ReadToFollowing("A")
valueA = xmlCommand.ReadElementContentAsString

xmlCommand.ReadToFollowing("B")
valueB = xmlCommand.ReadElementContentAsString

Если нет элемента А, тогда я получаю

Метод ReadElementContentAsString не поддерживается для типа узла Нет. Строка 0, позиция 0

Что имеет смысл, так как он не нашел его

ReadToFollowing возвращает логическое значение, обнаружил ли он элемент или нет, так что я могу проверить, прежде чем пытаться присвоить значение, но похоже, что читатель читает до конца, ища его, и я все еще хочу получить значение B, даже если A там нет. Есть ли какой-нибудь способ перезагрузить читателя, чтобы он читал с самого начала, или я вообще должен отказаться от XmlReader?

1 Ответ

1 голос
/ 19 апреля 2011

Я считаю, что XMLReader предназначен только для перемотки, что означает, что вы не можете перемотать назад к началу.

В вашем случае вам, вероятно, потребуется создать новый экземпляр XmlReader и повторить его снова. Не уверен, что это тот ответ, который вы искали: P

...