Написание XML с VB 6.0 - PullRequest
       11

Написание XML с VB 6.0

0 голосов
/ 13 января 2009

Мне нужно записать журнал ошибок в файл XML с помощью Visual Basic 6.0. Есть ли простой способ сделать это?

Журнал ошибок будет содержать номер ошибки, источник, desc и отметку времени.

Спасибо, Джефф

Ответы [ 3 ]

4 голосов
/ 13 января 2009

Вероятно, для этого лучше всего использовать библиотеки MSXML от Microsoft.

В базе знаний есть образец: http://support.microsoft.com/kb/286817

1 голос
/ 13 января 2009

Библиотеки Microsoft MSXML - это ваш первый порт захода, но есть некоторые вещи, которые необходимо учитывать, прежде чем вы решите его использовать.

Добавление сообщений об ошибках в Xml с использованием библиотеки MSML будет анализировать и загружать файл Xml при каждом его открытии. По мере роста XML-файла ваше приложение замедляется до скорости сканирования.

Было бы хорошо, если бы вы могли "просто" добавить свою ошибку в конец файла, однако из-за закрытия тегов это не просто, но это можно сделать.

Если у вас есть контроль над тем, как создается XML-файл, вы можете обойти эту бутылку производительности, разделив Xml-файл на две части: одну с заголовком и одну с телом xml. Затем вы можете добавить в конец файла тела (используя класс писателя Xml или просто добавив текст в файл).

См. Эффективные методы для изменения больших файлов XML для получения дополнительной информации

Однако все это не нужно, если вы записываете одну ошибку в файл XML, а следующая ошибка переходит в другой файл XML. В этом случае перейдите с MSXML

Надеюсь, это поможет.

0 голосов
/ 13 января 2009

Если вы пишете только файл журнала, я бы порекомендовал просто объединить строку, подобную этой:

Public Function GetXmlEntry(errNumber as Long, description as String) as String
  GetXmlEntry = "<entry><error-number>" & errNumber & "</error-number><description>" & description & "</description></entry>"
End Function

Использование библиотек XML здесь не обязательно, и даже излишне ухудшит производительность (т. Е. Без преимущества).

( edit ) Как отмечалось в комментариях, для написания правильного XML требуется как минимум два дополнительных шага даже для одной отдельной записи: во-первых, необходимо правильно экранировать некоторые специальные символы (не должно быть это сложно); во-вторых, необходимо использовать правильную (= одинаковую) кодировку для всех файлов XML, в соответствии с объявлением в заголовке (для этого моего VB-Fu недостаточно - небольшая копка в справке поможет).

...