Цитата:
Сообщение от
rootx
Может какие то есть другие способы получить данные?
Добрый день! А читать через класс XmlReader не пробовали? Файл-то аккурат под этот класс сделан. Основное преимущество - не закачивается сразу весь файл и не валидируется XML в целом, т.е. быстрее должен пройти импорт и меньше кушать памяти.
В классе TaxSaxDocumentHandler_AU есть хороший пример
X++:
void parseFile(str filename)
{
XmlReader reader;
XmlNodeType nodeType;
;
reader = XmlTextReader::newFile(filename);
while (reader.read())
{
nodeType = reader.nodeType();
switch(nodeType)
{
case XmlNodeType::Element:
this.startElement(reader);
break;
case XmlNodeType::Text:
this.characters(reader.value());
break;
}
}
}
X++:
void startElement(XmlReader reader)
{
str qName;
;
qName = reader.name();
if (qName == 'field')
{
fieldID = reader.getAttribute2('ID');
}
else if (qName != 'value')
{
fieldID = '';
}
tmpData = '';
}
Вот еще ссылка, как этот класс в C# отрабатывает
https://stackoverflow.com/questions/...der-in-c-sharp
И общие сведения о классе (официальная документация Microsoft):
https://docs.microsoft.com/ru-ru/dot...tframework-4.8