Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2014, 04:03   #1
МаксМСК
 
Регистрация: 26.09.2014
Сообщений: 3
По умолчанию неверное объединение xml файлов

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

выполняется почти все, но вот почему то файлы не объединяются. я могу ошибаться, но, мне кажется, что дело в описании циклов.
в общем, надеюсь на вашу помощь. спасибо.

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Xml;
using System.Diagnostics;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //System.IO.StreamWriter
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!="")
            {
                string finRes=null;
                string res;
                string[] filePat = Directory.GetFiles(textBox1.Text, "*xml");

                for (int k = 0; k < filePat.Length; k++)
                {
                    if (!filePat[k].Contains("!"))
                    {
                        for (int i = 0; i < 5; i++)
                        {
                            FileStream fileStream = new FileStream(filePat[i], FileMode.Open);
                            var sr = new StreamReader(fileStream, System.Text.Encoding.Default);
                            res = "";
                            res = sr.ReadToEnd();
                            res = res.Remove(res.IndexOf("<"), 49);
                            res = res.Remove(res.LastIndexOf("<"), 8);
                            fileStream.Close();
                            string road = filePat[i];
                            road = road.Replace("list", "!list");
                            File.Move(@filePat[i], @road);
                            finRes += res;

                            if (i == 5)
                            {
                                for (int j = 0; j < filePat.Length / 5; j++)
                                {
                                    string start = "<?xml version=" + "1.0" + " encoding=" + "UTF-8" + "?><press>";
                                    string finish = "</press>";
                                    string End = start + finRes + finish;
                                    DateTime now = DateTime.Now;
                                    string data = now.ToString();
                                    data = data.Replace(':', '-');
                                    File.WriteAllText(textBox2.Text + "\\" + data + " newFile" + " " + j + ".xml", End);
                                    finRes = "";
                                    End = "";
                                }

                            }
                            MessageBox.Show("Mission completed");
                        }
                    }
                }
            }
        }
    }
}
файлы подобного содержания:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<press>
	<paper name="Кардиология"> </paper>
	<journal name="Кот и пес"> </journal>
	<paper name="Кухня"> </paper>
	<paper name="Женсовет"> </paper>
	<paper name="Моя семья"> </paper>
	<paper name="Правда"> </paper>
	<paper name="Экономка"> </paper>
	<journal name="Сервис"> </journal>
	<paper name="Реклама"> </paper>
	<paper name="Старость"> </paper>
	<paper name="Star"> </paper>
	<paper name="Клуб"> </paper>
	<paper name="История"> </paper>
	<journal name="Мотиватор"> </journal>
	<paper name="Лабиринт"> </paper>
	<paper name="Студийка"> </paper>
</press>
МаксМСК вне форума Ответить с цитированием
Старый 17.10.2014, 14:17   #2
cerkonst
Пользователь
 
Аватар для cerkonst
 
Регистрация: 18.01.2011
Сообщений: 19
По умолчанию

Код:
 
for (int i = 0; i < 5; i++)
{
    if (i == 5) // скорее всего (i == 4)
    {
     }
}
___________________________________ _________
Самые гениальные идеи - самые простые.
Помог с ответом нажми на весы.
cerkonst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объединение файлов Lingvist87 Microsoft Office Excel 0 18.09.2012 14:16
Объединение файлов Gortesun Microsoft Office Excel 0 17.11.2011 21:52
Объединение нескольких Xml Crunkordie Общие вопросы Delphi 3 28.03.2011 17:02
Объединение файлов Sparky Помощь студентам 0 04.06.2010 16:26
Объединение файлов Aleksey1989 Помощь студентам 3 25.04.2010 19:35