Как проверить количество строк в xml файле на C# в Unity?
Как в .xml файле проверить существование xml элемента
Читаю xml данные так: Dim xdoc As XDocument = XDocument.Load("data\Sips.xml") .
Xml сериализация многострочных строк, отступы в xml файле
У меня есть класс который сериализуется в xml и содержит многострочную строку. class.
Как посчитать количество одинаковых тегов в XML файле?
Добрый всем вечер. Помогите советом. Как посчитать количество тегов stop в теге times, при том.
Как подсчитать количество Х строк в файле
Есть одна проблемка: Пытаюсь сделать так: Делаю считывание с файла. Файл такого образца.
Администратор
![]()
16490 / 12951 / 5095
Регистрация: 17.03.2014
Сообщений: 26,377
Записей в блоге: 1
angrydev, допустим нам даны два файла
1 2 3 4 5
version="1.0" encoding="UTF-8"?> > category="cooking"> lang="en">Everyday Italian >>Giada De Laurentiis >>2005 >>30.00 > > category="children"> lang="en">Harry Potter >>J K. Rowling >>2005 >>29.99 > > >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
version="1.0" encoding="UTF-8"?> > category="cooking"> lang="en">Everyday Italian > >Giada De Laurentiis > >2005 > >30.00 > > category="children"> lang="en">Harry Potter > >J K. Rowling > >2005 > >29.99 > > >
В первом файле 5 строк, во втором 15. Данные при этом у них полностью одинаковые. Соотвественно возникает вопрос — как нам поможет знание количиства строк? Возможно ты хочешь узнать количество элементов? Как это сделать зависит от структуры документа и его размера. Уточни что именно тебе требуется и выложи пример структуры xml документа с которым ты работаешь.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как найти количество строк в файле?
Узнать количество строк (заканчиваются на .) string str = "1.2.3.4.5.6.7.8.9.10."; .
Как подсчитать количество строк в файле?
Подскажите пожалуйста код программы как подсчитать кол-во строк в файле
Как узнать количество строк в файле?
Как узнать количество строк в файле средствами командной строки? Как выводить определенную.
Как узнать количество строк в файле
как узнать количество строк в файле? допустим есть файл: 111 222 333 112 332 113 113 231 23.
Подсчитать количество определённых тегов в XML-файле
как вытащить текст и id понятно, а вот количество comments, likes, reposts к этому тексту не пойму.
>>178 > list="true">>>1768 >>-27321623 >>-27321623 >>1397272611 >>post >>какой то текст >>>vk > >>>8 >>1 > >>>84 >>0 >>1 >>1 > >>>24 >>0 > > >>>1767 >>-27321623 >>-27321623 >>1397272328 >>post >>какой то текст >>>vk > >>>2 >>1 > >>>63 >>0 >>1 >>1 > >>>17 >>0 > > >>>1766 >>-27321623 >>-27321623 >>1397272112 >>post >>какой то текст >>>vk > >>>1 >>1 > >>>81 >>0 >>1 >>1 > >>>20 >>0 > > > > >
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как подсчитать количество определенных тегов в тексте?
Здравствуйте! Имеется огромный текст, в котором требуется найти тег "Teg", который может как.
Как посчитать количество одинаковых тегов в XML файле?
Добрый всем вечер. Помогите советом. Как посчитать количество тегов stop в теге times, при том.
Подсчитать количество определенных строк в текстовом файле
Добрый день! помогите плизз. в общем дело такое, необходимо подсчитать количество определенных.

Удаление определенных атрибутов в xml-файле
Здравствуйте! Вот xml-код. <?xml version="1.0" encoding="utf-8"?> <Racine> <Machine.
Регистрация: 18.05.2014
Сообщений: 7
Можно же организовать через foreach и просто плюсовать в переменную, которую после цикла вывести.
Master of Orion
![]()
6097 / 4953 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
using System; using System.IO; using System.Xml.Linq; namespace ConsoleApplication40 { class Program { private const string xml = @""1.0"" encoding=""utf-8""?>178 "true"">1768 -27321623 -27321623 1397272611 post какой то текст vk 8 1 84 0 1 1 24 0 1767 -27321623 -27321623 1397272328 post какой то текст vk 2 1 63 0 1 1 17 0 1766 -27321623 -27321623 1397272112 post какой то текст vk 1 1 81 0 1 1 20 0 "; static void Main(string[] args) { using (var sr = new StringReader(xml)) { var doc = XDocument.Load(sr); var posts = doc.Descendants("post"); foreach (var post in posts) { Console.WriteLine("Post #", post.Element("id").Value); Console.WriteLine("Comments = ", post.Element("comments").Element("count").Value); } } } } }
Посчитать строки
- Если входной слой или представление таблицы, содержат выборку записей, считаются только выбранные записи.
- Инструмент использует параметр среды Экстент. Считаются только те объекты, которые частично или полностью расположены внутри экстента, указанного в параметрах среды.
- Вы можете посмотреть результат подсчета строк в окне Результаты .
- В ModelBuilder инструмент Посчитать строки обычно используется для установки предварительного условия, как показано ниже. В этой модели инструмент Посчитать строки вычисляет количество записей, возвращенных инструментом Выбрать . Если это количество равно 0, инструмент Буфер (Buffer) не запускается из-за предварительных условий.
Синтаксис
arcpy.management.GetCount(in_rows)
Входное представление таблицы или слой растра. Если установлена выборка входных данных, возвращается число выбранных строк.
Производные выходные данные
Общее количество строк во входных объектах.
Пример кода
GetCount, пример 1 (окно Python)
Пример скрипта окна Python для использования функции GetCount в режиме прямого запуска.
import arcpy arcpy.env.workspace = "C:/data/data.gdb" arcpy.GetCount_management("roads")
GetCount, пример 2 (автономный скрипт)
Автономный скрипт – пример использования функции GetCount .
# Name: fcCount.py # Purpose: calculate the number of features in a feature class # Import system modules import arcpy lyrfile = r"C:\data\streets.lyr" result = arcpy.GetCount_management(lyrfile) print('<> has <> records'.format(lyrfile, result[0]))
Параметры среды
- Текущая рабочая область
- Экстент
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да
Связанные разделы
Как посчитать количество строк в xml
Читается огромный файл и хотелось бы хоть как-то сделать прогресс бар. Никак не узнать количество узлов или хоть какую-то инфу о размере файла, ходе выполнения?
а как читается то?
(1)+ можно, например, через ДокументDOM, там есть методы подсчета количества узлов
если файл делаешь сам, то в корневой элемент засунь количество объектов атрибутом. если не сам, то тогда только, если читаешь не через чтениеХМЛ, оно хорошо тем, что работает последовательно и по этому не жрет памяти, но узнать что-то «вперед» — нереально
(1) Просто ЧтениеXML
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
Пока ЧтениеXML.Прочитать() Цикл
(3) выгрузка КД, не хотелось бы её курочить
(0) чтением XML нельзя, как я понимаю. Оно читает от начала и до упора, количество там никак не прогнозируется.
(0) Прикинь размер файла относительно количества элементов, примерно высчитывай.
(0) Узнать длину файла. Попробовать опоеделить длину строки XML считанного узла. Сделать поправку на число байт в символе и ты получишь примерное положение в файле. Плюс минус разделители строк.
(0) Или одновременно с чтением записывай прочитанное куда-нибудь строками. Длина записанного будет прогрессом.
(0) Или открыть файл дважды. Читать как текст и параллельно — как xml. Хотя, не уверен, что чтениеxml такое позволит.
может так, грубо.
СтрЧислоВхождений(ТекстXML, «<" )
(11) Некошерно, надо весь файл в память считывать. Тогда уж можно и точно посчитать.
Похрен, буду выводить количество прочитанных узлов. Если каждый день делать эту загрузку, то примерное количество всех будет уже известно
В (2) правильный ответ, если, конечно, файл не гигантского размера.
(5) Все таки решил курочить?
Но если файл действительно огромный, то есть еще потоковое чтение данных. Там можно порциями выбирать куски файла (примерно как перебирать выборку запроса), и обрабатывать их. При выборе куска файла система возвращает его содержимое и размер. Размеры накапливаем в какой-то переменной, делим на общий размер файла, умножаем на 100 и таким образом получаем проuhtcc обработки а процентах.
200 метров — это огромный?
(23) Тут правильнее мерять не в метрах, а в количестве узлов. Если там 10 узлов по 20 метров каждый, то не много, а если 20000 узлов — то много.
(25) около 5млн узлов
(25) Это важно для предлагаемого вами чтения всего файла и построения в памяти структуры dom?
(26) Тогда чтобы прочитать это через DOM, надо будет сначала все загрузить в оперативку. Скорее всего заглохнет.
(28) Но это же только что был правильный вариант! Как же так, Юрий?
(27) Да, это важно. Вся эта структура не нужна в оперативке, тем более, что там 5 млн узлов. В этом случае логичнее пробовать потоковое чтение.
(29) Внимательно перечитываем (14), особенно последние 6 слов. Или с первого раза не дошло?
(31) Юрий, я вас не понимаю. То есть, согласно (25), если файл в 200 мегабайт, состоит из 10 узлов с двоичными данными, то он не огромный и ваше (14) применимо, а если в файле в 200 мегабайт 5 млн текстовых узлов, то он огромный и надо читать последние 6 слов?
сейчас прогресс бар с конечным состоянием практически никто не делает. делай просто крутящийся кружок и колво загруженых
(32) Да, все верно, учитывая, что по условию задачи надо посчитать количество узлов.
200м вроде не много должно занять в памяти. можно прочитать кол-во узлов. закрыть и далее читать стандартно
(35) Проблема как раз в количестве узлов. DOM при 5 миллионах скорее загнется с большой долей вероятности. Хотя ТС может это легко проверить за 15 минут на своем севаке.
(26) и кто будет смотреть на этот прогрессбар.
Сделай, как в типовых обменах данными реализовано, — там просто кружок, который вертится постоянно, символизируя, что все работает и ни чего не сломалось.
(37) С прогрессбаром можно посчитать примерное время окончания обработки файла, иногда это бывает полезно.
(38) ну, узнал ты, что это будет через час. Дальше что?
Кому это может пригодиться и зачем?
Такие штуки должны происходить сами где-то на сервере без пользователей. А серверу прогрессбары не нужны
Серверу и 1С в принципе не нужна.
Пользователю нужно оповещение по электропочте или смс о завершении работ )
«Что касается быстродействия. то на файле 10 000 записей полная обработка заняла 30 секунд и на файле в 100 мегабайт линейно увеличилась в 10 раз.»
«Этот метод немного проще чем простой перебор узлов в DOM документе, но быстродействие. При 10 000 записей 69 секунд , а для 100 000 обработка длилась более часа, так и не завершилась, после чего была снята принудительно.»
«Пятый метод схож с предыдущим, но глобальной фабрике XDTO подается на вход не только сам XML документ, но и его тип. Метод замечательный, как по простоте создания, так и по быстродействию – 3,1 секунды на 10 000 записях.»
