|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
считал с сервера здоровый поток байтов (на 100000 строк) - XML. При попытке обработать такой XML штатным Xml-средством (XmlNode, XmlDocument и пр.) работа идёт очень долго, памяти жрёт много. Хотя по сути, мне нужно взять только пару узлов из этой XML-ки. Есть ли библиотека, работающая с XML без предварительного преобразования её в кучи вложенных объектов типа XmlNode и других? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 16:36 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Charles Weyland штатным Xml-средством (XmlNode, XmlDocument и пр.) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 17:15 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
ну или штатный XmlReader https://docs.microsoft.com/ru-ru/dotnet/api/system.xml.xmlreader?view=netcore-2.0 по мне XDocument удобнее ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 17:16 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Shocker.Pro, для больших XML, или даже предположительно больших, или вообще для табличных данных, выгружаемых в XML, лучше предпочесть XmlReader. он тоже неплох. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 18:57 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Такой метод доступа к XML называют SAX. Дальше в гугл по этому слову ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 19:01 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Charles Weyland При попытке обработать такой XML штатным Xml-средством (XmlNode, XmlDocument и пр.) работа идёт очень долго, памяти жрёт много. Что именно пытаетесь сделать? Возможно (учитывая упоминание XmlNode, XmlDocument и пр.) что-то делается не так. 100000 строк - не то что бы совсем много. Достаточно сложные XSLT-преобразования у меня проходили и с объемами раз в 5 больше (а XSLT - значит, процесс держит в памяти разобранное DOM-дерево). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 19:29 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Roman Mejtes SAX О Господи! Не надо так пугать крутыми словами. Это же и есть XmlReader ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2019, 20:40 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны а XSLT - значит, процесс держит в памяти разобранное DOM-дерево ваще не факт streaming ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2019, 12:30 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Cat2 О Господи! Не надо так пугать крутыми словами. Это же и есть XmlReader SAX это очень общий термин "Simple API for XML" - чтение XML без его полной загрузки в память, а XmlReader это просто одна из его реализаций. Никто не мешает использовать что-то другое, или самому написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2019, 13:12 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
спасибо! Да, XmlReader - то, что надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2019, 13:52 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
hVostt Сон Веры Павловны а XSLT - значит, процесс держит в памяти разобранное DOM-дерево ваще не факт streaming Факт. Те перегрузки XslCompiledTransform.Transform, которые первым параметром принимают Stream или XmlReader, на их основе создают XPathDocument ( вот здесь ), а он всё равно держит в памяти разобранную модель - только не DOM, а XPath. А те перегрузки, которые первым аргументом принимают IXPathNavigable, в реальности принимают на вход либо всё тот же XPathDocument, либо XmlDocument - других классов, описывающих XML-документ, и реализующих IXPathNavigable, я не припомню. А так-то там, на w3.org, есть много чего, что в дотнете "искаробки" отсутствует напрочь - например, XSLT 2.0 и XSD 1.1. И я как-то уже сомневаюсь, что это всё счастье однажды у нас появится. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2019, 13:57 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Факт. Те перегрузки 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2019, 13:29 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
hVostt XSLT изначально был чуть менее, чем полностью убог, ужасен и мерзок. Тем не менее, другого инструмента для декларативно описанных преобразований, работающего со сравнимой скоростью нет. Ну, и свои задачи он выполняет вполне нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 06:38 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны hVostt XSLT изначально был чуть менее, чем полностью убог, ужасен и мерзок. Тем не менее, другого инструмента для декларативно описанных преобразований, работающего со сравнимой скоростью нет. Ну, и свои задачи он выполняет вполне нормально. Претензия не к тому, как это работает. Высокий порог вхождения, как следствие -- цена вопроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 07:01 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, 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 добавлю, согласен вот с этим утверждением, но это имхо. естественно не применимо для того, кто хорошо овладел этим инструментом и успешно, с комфортом решает свои задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 07:08 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 07:12 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 10:11 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, есть за что ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 15:35 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
hVostt Претензия не к тому, как это работает. Высокий порог вхождения, как следствие -- цена вопроса. Вполне себе низкий порог вхождения. Технология предназначена именно для выполнения конкретной цели. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 18:33 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Charles Weyland, Можно попробовать что нибудь экзотическое 🍄 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 18:36 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
ЕвгенийВ Вполне себе низкий порог вхождения. Технология предназначена именно для выполнения конкретной цели. Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня? Просто интересно, может я чего-то не знаю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 19:19 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
hVostt ЕвгенийВ Вполне себе низкий порог вхождения. Технология предназначена именно для выполнения конкретной цели. Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня? Просто интересно, может я чего-то не знаю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 00:48 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
XML места занимает слишком дохрена, а чем больше данные, тем дольше их передавать, читать и писать и т.д. но мне XML как то ближе, олдовее и местами на много читабельнее XML, А всякие хипстеры YAML продвигают в компании :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 02:21 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
Roman Mejtes но мне XML как то ближе, олдовее и местами на много читабельнее XML, А всякие хипстеры YAML продвигают в компании :) На ixbt, помнится, была дискуссия про XML vs JSON, YAML итп. Основная проблема всех альтернатив - то, что они просто тупо недоработаны: нет до конца стандартизованных средств валидации, трансформации/преобразования, итд. Соответственно, если для бизнеса сбои и ошибки при обмене данных с другими бизнесами/системами сопряжены с финансовыми рсиками, то он предпочтёт то, что вполне себе и давно уже стандартизовано в куче областей, и поддерживается самыми разными платформами. А если проект сам по себе, и ни с кем не общается, либо не завязан на фин. риски, то тут уже пофиг, и используется то, что разработчику милее - хоть YAML, хоть Lua, хоть ini-файлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 07:00 |
|
Имеется ли что-то вроде "потокового XML-парсера"?
|
|||
---|---|---|---|
#18+
hVostt ЕвгенийВ Вполне себе низкий порог вхождения. Технология предназначена именно для выполнения конкретной цели. Какой? Вот для какой такой цели нужно выучить целый декларативный язык, который работает только с XML на входе? И где взять XML на входе в большом количестве сегодня? Просто интересно, может я чего-то не знаю :) Я например тут нашел. Кстати и xslt была как нельзя кстати, убогий клиент на Bocland C++ Builder 3.0 1999 г. р. Самам лучшим вариантом было внедрение IE как ActiveX и визуализация посредством XML/XSLT. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 10:44 |
|
|
start [/forum/topic.php?fid=20&msg=39887521&tid=1398727]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
127ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 471ms |
0 / 0 |