powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имеется ли что-то вроде "потокового XML-парсера"?
25 сообщений из 27, страница 1 из 2
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886869
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
считал с сервера здоровый поток байтов (на 100000 строк) - XML.
При попытке обработать такой XML штатным Xml-средством (XmlNode, XmlDocument и пр.) работа идёт очень долго, памяти жрёт много.
Хотя по сути, мне нужно взять только пару узлов из этой XML-ки.

Есть ли библиотека, работающая с XML без предварительного преобразования её в кучи вложенных объектов типа XmlNode и других?
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886885
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland
штатным Xml-средством (XmlNode, XmlDocument и пр.)
XDocument работает довольно быстро, и, если что, это тоже "штатное средство"
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886888
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или штатный XmlReader
https://docs.microsoft.com/ru-ru/dotnet/api/system.xml.xmlreader?view=netcore-2.0

по мне XDocument удобнее
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886922
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

для больших XML, или даже предположительно больших, или вообще для табличных данных, выгружаемых в XML, лучше предпочесть XmlReader. он тоже неплох.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886923
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой метод доступа к XML называют SAX. Дальше в гугл по этому слову
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886931
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland
При попытке обработать такой XML штатным Xml-средством (XmlNode, XmlDocument и пр.) работа идёт очень долго, памяти жрёт много.

Что именно пытаетесь сделать? Возможно (учитывая упоминание XmlNode, XmlDocument и пр.) что-то делается не так.
100000 строк - не то что бы совсем много. Достаточно сложные XSLT-преобразования у меня проходили и с объемами раз в 5 больше (а XSLT - значит, процесс держит в памяти разобранное DOM-дерево).
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39886945
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Roman Mejtes
SAX

О Господи! Не надо так пугать крутыми словами. Это же и есть XmlReader
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887020
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
а XSLT - значит, процесс держит в памяти разобранное DOM-дерево


ваще не факт

streaming
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887027
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
О Господи! Не надо так пугать крутыми словами. Это же и есть XmlReader

SAX это очень общий термин "Simple API for XML" - чтение XML без его полной загрузки в память, а XmlReader это просто одна из его реализаций. Никто не мешает использовать что-то другое, или самому написать.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887031
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо! Да, XmlReader - то, что надо.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887033
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Сон Веры Павловны
а XSLT - значит, процесс держит в памяти разобранное DOM-дерево


ваще не факт

streaming

Факт.
Те перегрузки XslCompiledTransform.Transform, которые первым параметром принимают Stream или XmlReader, на их основе создают XPathDocument ( вот здесь ), а он всё равно держит в памяти разобранную модель - только не DOM, а XPath.
А те перегрузки, которые первым аргументом принимают IXPathNavigable, в реальности принимают на вход либо всё тот же XPathDocument, либо XmlDocument - других классов, описывающих XML-документ, и реализующих IXPathNavigable, я не припомню.
А так-то там, на w3.org, есть много чего, что в дотнете "искаробки" отсутствует напрочь - например, XSLT 2.0 и XSD 1.1. И я как-то уже сомневаюсь, что это всё счастье однажды у нас появится.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887172
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Факт.
Те перегрузки XslCompiledTransform.Transform, которые первым параметром принимают Stream или XmlReader, на их основе создают XPathDocument ( вот здесь ), а он всё равно держит в памяти разобранную модель - только не DOM, а XPath.
А те перегрузки, которые первым аргументом принимают IXPathNavigable, в реальности принимают на вход либо всё тот же XPathDocument, либо XmlDocument - других классов, описывающих XML-документ, и реализующих IXPathNavigable, я не припомню.
А так-то там, на w3.org, есть много чего, что в дотнете "искаробки" отсутствует напрочь - например, XSLT 2.0 и XSD 1.1. И я как-то уже сомневаюсь, что это всё счастье однажды у нас появится.


так речь идёт о XSLT 3.0

в любом случае, не вижу причин расстраиваться. XSLT изначально был чуть менее, чем полностью убог, ужасен и мерзок. да и XML больше не в тренде, по крайне мере больше не пытаются запихать всё и вся в XML.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887288
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
XSLT изначально был чуть менее, чем полностью убог, ужасен и мерзок.

Тем не менее, другого инструмента для декларативно описанных преобразований, работающего со сравнимой скоростью нет. Ну, и свои задачи он выполняет вполне нормально.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887290
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
hVostt
XSLT изначально был чуть менее, чем полностью убог, ужасен и мерзок.

Тем не менее, другого инструмента для декларативно описанных преобразований, работающего со сравнимой скоростью нет. Ну, и свои задачи он выполняет вполне нормально.


Претензия не к тому, как это работает.
Высокий порог вхождения, как следствие -- цена вопроса.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887292
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

XSLT is a failure wrapped in pain. There’s no job for which XSLT is the right tool. If you think you found a job for which XSLT is a good tool, chances are the job itself is fucked up. – masklinn

добавлю, согласен вот с этим утверждением, но это имхо.

естественно не применимо для того, кто хорошо овладел этим инструментом и успешно, с комфортом решает свои задачи.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887294
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мартин Фаулер тож его недолюбливает :)

https://www.martinfowler.com/bliki/MovingAwayFromXslt.html
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887334
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Мартин Фаулер тож его недолюбливает :)

https://www.martinfowler.com/bliki/MovingAwayFromXslt.html

Ну, он же и ORM недолюбливает :)
https://martinfowler.com/bliki/OrmHate.html
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887521
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

есть за что )
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887686
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt


Претензия не к тому, как это работает.
Высокий порог вхождения, как следствие -- цена вопроса.

Вполне себе низкий порог вхождения.
Технология предназначена именно для выполнения конкретной цели.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887689
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
Можно попробовать что нибудь экзотическое 🍄
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887706
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Вполне себе низкий порог вхождения.
Технология предназначена именно для выполнения конкретной цели.


Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня?

Просто интересно, может я чего-то не знаю :)
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887804
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
ЕвгенийВ
Вполне себе низкий порог вхождения.
Технология предназначена именно для выполнения конкретной цели.


Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня?

Просто интересно, может я чего-то не знаю :)
клиенты-одинэснеги слезно просят отдавать xml, но мы их мучаем json'ом. хотя казалось бы, чего стоит сериализовать и так, и эдак в зависимости от запрошенного контент-тайпа? но начальство стоит позиции "xml говно".
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887823
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML места занимает слишком дохрена, а чем больше данные, тем дольше их передавать, читать и писать и т.д.
но мне XML как то ближе, олдовее и местами на много читабельнее XML,
А всякие хипстеры YAML продвигают в компании :)
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887842
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
но мне XML как то ближе, олдовее и местами на много читабельнее XML,
А всякие хипстеры YAML продвигают в компании :)

На ixbt, помнится, была дискуссия про XML vs JSON, YAML итп.
Основная проблема всех альтернатив - то, что они просто тупо недоработаны: нет до конца стандартизованных средств валидации, трансформации/преобразования, итд. Соответственно, если для бизнеса сбои и ошибки при обмене данных с другими бизнесами/системами сопряжены с финансовыми рсиками, то он предпочтёт то, что вполне себе и давно уже стандартизовано в куче областей, и поддерживается самыми разными платформами. А если проект сам по себе, и ни с кем не общается, либо не завязан на фин. риски, то тут уже пофиг, и используется то, что разработчику милее - хоть YAML, хоть Lua, хоть ini-файлы.
...
Рейтинг: 0 / 0
Имеется ли что-то вроде "потокового XML-парсера"?
    #39887910
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
ЕвгенийВ
Вполне себе низкий порог вхождения.
Технология предназначена именно для выполнения конкретной цели.


Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня?

Просто интересно, может я чего-то не знаю :)

Я например тут нашел. Кстати и xslt была как нельзя кстати, убогий клиент на Bocland C++ Builder 3.0 1999 г. р. Самам лучшим вариантом было внедрение IE как ActiveX и визуализация посредством XML/XSLT.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Имеется ли что-то вроде "потокового XML-парсера"?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]