Генерирует XML в файл или переменную памяти.

XMLAdapter.ToXML( cXMLDocument [, cSchemaLocation [, lFile [, lIncludeBefore [, lChangesOnly ]]]] )

Параметры

cXMLDocument

Указывает имя файла или переменной памяти для XML документа.
cSchemaLocation

Указывает местоположение ссылки на внешнюю схему. По умолчанию значение  cSchemaLocation представляет собой пустую строку (""). Если cSchemaLocation ничего не содержит и генерируется внешняя схема, то в качестве ссылки на внешнюю схему используется значение свойства XMLAdapterXMLSchemaLocation.
lFile

Указывает, будет ли cXMLDocument представлять собой файл. Значением по умолчанию для lFile является False (.F.).
lIncludeBefore

Указывает - будет ли включена секция diffgr:before section в состав DiffGram. Секция diffgr:before содержит оригинальную версию строки. Значением по умолчанию для  lIncludeBefore является False (.F.). Если для lIncludeBefore передано True (.T.), Visual FoxPro фильтрует удаленные записи, не берет во внимание текущую установку фильтра, такую как SET FILTER TO NOT DELETED( ) и SET DELETED ON или OFF. Все удаленные записи в табличном буфере вставляются в секцию diffgr:before, но не имеют строк соответствия в блоке DataInstance DiffGram. Хотя вы можете пожелать спрятать удаленные строки, путем использования фильтра, DiffGram покажет, какие строки были удалены, так что источник данных будет корректно обнолвен. Visual FoxPro не учитывает lIncludeBefore если свойство  XMLAdapter IsDiffGram установлено в  False (.F.).
lChangesOnly

Указывает, должен ли XML содержать только изменения. Visual FoxPro не учитывает lChangesOnly если свойство XMLAdapter IsDiffGram установлено в False (.F.) или параметр lIncludeBefore равен False (.F.).

Примечания

Применяется к: классу XMLAdapter

Если свойство XMLTable Alias пусто, то для такого объекта XMLTable не генерируются XML элементы, однако, таблица включается в схему, если схема генерируется.

Для символьных полей, Visual FoxPro заполняет любое оставшееся пространство пробелами  (0x20). Когда ToXML размечает символьные поля к бинарным полям и производит кодировку, ToXML перекодирует хвостовые пробелы, независимо от значения свойства XMLAdapter PreserveWhiteSpace.

На исполнение метода ToXML оказывают влияние перечисленные ниже свойства объекта XMLAdapter:

Nested XML   Когда свойство XMLAdapter RespectNesting установлено в True (.T.) и указаны связи между таблицами, то метод ToXML генерирует вложенный XML. Вложенность не поддерживается, если параметр IChangesOnly установлен в  True (.T.).

XML Encoding   Когда свойство XMLAdapter RespectCursorCP установлено в True (.T.), свойтво XMLAdapter UTF8Encoded установлено в False (.F.) и два или более псевдоимен таблиц имеют ссылки в коллекции Tables, то эти таблицы должны использовать одну и ту же кодовую страницу. Если вы кроме всего установили значение для свойства UseCodePage, результаты, генерируемые методом ToXML различаются между собой. Смотри описание свойства UseCodePage для таблиц, которые будут представлены в результате исполнения метода.

Numeric Overflow Conditions   Объект XMLAdapter не загружает XML содержащий условия переполнения численных типов Visual FoxPro, например, *****.**, вместо значений Numeric или Integer. Разборщик Microsoft XML Core Services (MSXML) вызовет ошибке похожую на приведенную ниже:

  Copy Code
Error 2110 (XML Error): XML Error: XML Parse error: The value of '***' is invalid according to its data type.
The element: 'myfield' has an invalid value according to its data type.
Line 7, Position 17.
<myfield>***</myfield>

Если для объектов XMLAdapter или XMLTable свойство XMLNameIsXpath установлено в True (.T.), а свойство XMLName не является пустым, метод ToXML обречен на провал. ToXML игноирует объекты XMLField, которые используют выражения XPath.

Смотри также