Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / помогите с xml файлом) / 11 сообщений из 11, страница 1 из 1
10.10.2012, 16:37
    #37992091
magik_m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
Всем привет!

есть вот такой xml файл
Код: xml
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
-<rec dbrc="1"><NAME>Soft Install Date</NAME><VALUE>2010-10-21 05:10:33.33</VALUE></rec>
-<rec dbrc="2"><NAME>Soft Name</NAME><VALUE>АРМ Метролога(тонкий клиент)</VALUE></rec>
-<rec dbrc="3"><NAME>Soft Version</NAME><VALUE>версия 1.0</VALUE></rec>
</RRC>




я делаю следующее:
Код: c#
1.
2.
3.
4.
XmlDocument doc = new XmlDocument();
doc.Load(path + fName);
XmlElement a1 = doc.DocumentElement;
XmlNodeList a2 = doc.ChildNodes;



строчку <?xml version="1.0" encoding="UTF-8"?> я получаю так:
Код: c#
1.
 string beginn = a1.PreviousSibling.OuterXml; 



Подскажите, как мне получить вот эту строчку <RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204"> ?

Заранее Спасибо!
...
Рейтинг: 0 / 0
10.10.2012, 16:55
    #37992145
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
magik_mстрочку <?xml version="1.0" encoding="UTF-8"?> я получаю так:
Код: c#
1.
 string beginn = a1.PreviousSibling.OuterXml; 


адово =))

magik_mПодскажите, как мне получить вот эту строчку <RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
Код: c#
1.
а2[0]
...
Рейтинг: 0 / 0
10.10.2012, 16:57
    #37992149
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
pationа2[0]
Код: c#
1.
а1[0]
...
Рейтинг: 0 / 0
10.10.2012, 16:59
    #37992150
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
блин,
короче, зачем вам строчки ?
...
Рейтинг: 0 / 0
11.10.2012, 09:05
    #37992990
magik_m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
pationблин,
короче, зачем вам строчки ?

мне нужно приведенный вверху xml файл разбить на два xml файла по 2 записи в каждом файле...
т.е. в результате я получаю следующее:

1 xml файл
Код: xml
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
-<rec dbrc="1"><NAME>Soft Install Date</NAME><VALUE>2010-10-21 05:10:33.33</VALUE></rec>
-<rec dbrc="2"><NAME>Soft Name</NAME><VALUE>АРМ Метролога(тонкий клиент)</VALUE></rec>
</RRC>



2 xml файл
Код: xml
1.
2.
3.
4.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
-<rec dbrc="1"><NAME>Soft Version</NAME><VALUE>версия 1.0</VALUE></rec>
</RRC>
...
Рейтинг: 0 / 0
11.10.2012, 09:06
    #37992993
magik_m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
pationблин,
короче, зачем вам строчки ?

и строчки я выдергиваю, чтобы их потом записать в новый xml файл...
...
Рейтинг: 0 / 0
11.10.2012, 14:46
    #37993816
tsyselsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
magik_mpationблин,
короче, зачем вам строчки ?

мне нужно приведенный вверху xml файл разбить на два xml файла по 2 записи в каждом файле...
т.е. в результате я получаю следующее:

1 xml файл
Код: xml
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
-<rec dbrc="1"><NAME>Soft Install Date</NAME><VALUE>2010-10-21 05:10:33.33</VALUE></rec>
-<rec dbrc="2"><NAME>Soft Name</NAME><VALUE>АРМ Метролога(тонкий клиент)</VALUE></rec>
</RRC>



2 xml файл
Код: xml
1.
2.
3.
4.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CONFIGURATION" orgID="030334" SchemeVer="32.x1204">
-<rec dbrc="1"><NAME>Soft Version</NAME><VALUE>версия 1.0</VALUE></rec>
</RRC>



ну дык а вчем трабл? И на кой тебе строки?

код
Код: c#
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.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String Stuff = @"<?xml version='1.0' encoding='UTF-8'?>"
                          + "<RRC verID='1.0' srcID='CONFIGURATION' orgID='030334' SchemeVer='32.x1204'>"
                          + "<rec dbrc='1'><NAME>Soft Install Date</NAME><VALUE>2010-10-21 05:10:33.33</VALUE></rec>"
                          + "<rec dbrc='2'><NAME>Soft Name</NAME><VALUE>АРМ Метролога(тонкий клиент)</VALUE></rec>"
                          + "<rec dbrc='3'><NAME>Soft Version</NAME><VALUE>версия 1.0</VALUE></rec>"
                          + "</RRC>";
            
            // pred: include only soft version records
            Func<XElement, bool> inSV = delegate(XElement e)
            { return !e.Element("NAME").Value.ToLower().Equals("soft version"); };
            
            // pred: exclude all soft version records
            Func<XElement, bool> exSV = delegate(XElement e)
            { return e.Element("NAME").Value.ToLower().Equals("soft version"); }; 

            // do job
            XElement SoftVersionRecords = filter(Stuff, inSV);
            XElement OtherStuff = filter(Stuff, exSV);

            // io stuff
            print("SoftVersionRecords", SoftVersionRecords);
            print("OtherStuff", OtherStuff);
        }

        static void print(String header, XElement body)
        {
            Console.WriteLine(String.Format("# {0}\n{1}\n", header, body));
        }

        static XElement filter(String stuff, Func<XElement, bool> pred) {
            try
            {
                var RRCNode = XElement.Parse(stuff);
                var records = RRCNode.Elements();
                records.Where(pred).Remove();
                return RRCNode;
            }
            catch (Exception exn) 
            {
                // log.addRecord(exn);
                return null;
            }
        }
    }
}



пикча
...
Рейтинг: 0 / 0
24.10.2012, 14:28
    #38011428
magik_m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
tsyselsky,

спасибо большое за выложенные примеры!
но мне чуток не подходит... я не могу искать по по словам "soft version" и т.п.... у меня основная задача - это есть разные xml файлы, которые надо разбить на части по 4000 строк...
а xml файл в самом начале темы, я привел просто для примера...


например другой xml файл... и в нем нет "soft version"

Код: xml
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.
<?xml version="1.0" encoding="UTF-8"?>
-<RRC verID="1.0" srcID="CSM" orgID="030112" SchemeVer="32.x1204">-
<rec dbrc="1">
<ID>1</ID>
<CSM_CODE>030112</CSM_CODE>
<CSM_NAME>МСЮЛ</CSM_NAME>
<INN/>
<KPP/>
<OKPO/>
<OKONH/>
<OKATO/>
<REGION/>
<POSTCODE/>
<ADDRESS/>
<PHONE/>
<FAX/>
<E_MAIL/>
<DIRECTOR/>
<DIRECTOR_DAT_CASE/>
<DIRECTOR_ROD_CASE/>
<DIRECTOR_POSITION/>
<DIRECTOR_POSITION_ROD_CASE/>
<CONTACT_PHONE/>
<CONTACT_PERSON/>
<CSM_NAME_ROD_CASE>МСЮЛ</CSM_NAME_ROD_CASE>
<CREATE_DATE>2010-10-21 05:10:15.15</CREATE_DATE>
<CREATION_ID>1</CREATION_ID>
<DELETE_DATE>2010-10-21 05:10:23.23</DELETE_DATE>
<DELETION_ID>1</DELETION_ID>
<ENTITY_ID>227</ENTITY_ID>
</rec>-
<rec dbrc="2">
<ID>2</ID><CSM_CODE>030112</CSM_CODE><CSM_NAME>МСЮЛ</CSM_NAME><INN/><KPP/><OKPO/><OKONH/><OKATO/><REGION/><POSTCODE/><ADDRESS/><PHONE/><FAX/><E_MAIL/><DIRECTOR/><DIRECTOR_DAT_CASE/><DIRECTOR_ROD_CASE/><DIRECTOR_POSITION/><DIRECTOR_POSITION_ROD_CASE/><CONTACT_PHONE/><CONTACT_PERSON/><CSM_NAME_ROD_CASE>МСЮЛ</CSM_NAME_ROD_CASE><CREATE_DATE>2010-10-21 05:10:24.24</CREATE_DATE><CREATION_ID>1</CREATION_ID><DELETE_DATE/><DELETION_ID/><ENTITY_ID>227</ENTITY_ID>
</rec>
</RRC>
...
Рейтинг: 0 / 0
24.10.2012, 14:34
    #38011444
magik_m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
просто мысль:
у меня есть xml файл, в котором, например, 4010 записей.... т.е. я должен получить первый файл с 4000 записями и второй файл с 10 записями...
может сделать так:
я беру свой файл c 4010 записями... и последние 10 записей удаляю или первые 4000 записей вырезаю и сохраняю в отдельном файле... так я получаю первый файл с 4000 записями...
потом я снова беру файл c 4010 записями и удаляю 4000 записей, т.е. оставляя последние 10 и сохраняю в отдельном файле... так у меня получается второй файл...

вот теперь вопрос: Бред? или так нужно сделать?

если бред, то расскажите, поподробнее, как по другому решить данную задачу...

Заранее Большое Спасибо!
...
Рейтинг: 0 / 0
24.10.2012, 15:27
    #38011569
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
magik_mпросто мысль:
у меня есть xml файл, в котором, например, 4010 записей.... т.е. я должен получить первый файл с 4000 записями и второй файл с 10 записями...
может сделать так:
я беру свой файл c 4010 записями... и последние 10 записей удаляю или первые 4000 записей вырезаю и сохраняю в отдельном файле... так я получаю первый файл с 4000 записями...
потом я снова беру файл c 4010 записями и удаляю 4000 записей, т.е. оставляя последние 10 и сохраняю в отдельном файле... так у меня получается второй файл...

вот теперь вопрос: Бред? или так нужно сделать?

если бред, то расскажите, поподробнее, как по другому решить данную задачу...

Заранее Большое Спасибо!

бред

читаете файл
анализуруете каждую запись и записываете её туда куда надо
...
Рейтинг: 0 / 0
24.10.2012, 15:45
    #38011619
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с xml файлом)
pationчитаете файл
анализуруете каждую запись и записываете её туда куда надо
Не обязательно читать файл, а на больших файлах вообще поимеем аут оф мемори. Ридер в руки и начинаем фетчить.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / помогите с xml файлом) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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