Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Заполнить данные XML файла

Ответить
Настройки темы
Любой язык - Заполнить данные XML файла

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет!

Есть список в файле TXT

11111
22222
33333
44444
55555

Есть файл xml, такой структуры, в нем строки:

<listitem>
<variable name="Id">1</variable>
<variable name="mask">XXXXX</variable>
</listitem>

<listitem>
<variable name="Id">2</variable>
<variable name="mask">XXXXX</variable>
</listitem>

Как можно данные из файла TXT, занести на место XXXXX в XML, естественно по порядку?

Отправлено: 12:26, 21-03-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата smotritel89:
Есть файл xml, такой структуры»
Не бывает таких xml-файлов, упакуйте образец реального xml-файла в архив и приложите.

Цитата smotritel89:
Как можно данные из файла TXT, занести на место XXXXX в XML, естественно по порядку? »
Чем определяется порядок? Как поступать в случае разного количества строк в txt и числа узлов «listitem» в xml-файле?

Отправлено: 13:13, 21-03-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


да это на самом деле конфигурационный файл, который нужно заполнить списком сайтов.

я от туда просто выделил узлы в отдельный файл и в которые нужно заполнить данные, в тег Url.

Код: Выделить весь код
  <listitem>
    <variable name="Id">47</variable>
    <variable name="Enabled">1</variable>
    <variable name="Description"></variable>
    <variable name="Name">Social</variable>
    <variable name="Url">facebook.com</variable>
    <variable name="Type">2</variable>
  </listitem>
  <listitem>
    <variable name="Id">48</variable>
    <variable name="Enabled">1</variable>
    <variable name="Description"></variable>
    <variable name="Name">Social</variable>
    <variable name="Url">twitter.com</variable>
    <variable name="Type">2</variable>
  </listitem>
будем считать что строк в TXT, и узлов в файле конфига одинаковое.
ну например есть тег Id, он идет по возрастанию. например 1 строку из TXT занести в тег Url, первого узла в файле конфига. и так по порядку.

Отправлено: 13:42, 21-03-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата smotritel89:
да это на самом деле конфигурационный файл, который нужно заполнить списком сайтов.
я от туда просто выделил узлы в отдельный файл и в которые нужно заполнить данные, в тег Url. »
smotritel89, не надо выделять. Повторяю: упакуйте xml-файл в архив и выложите его.

Отправлено: 13:54, 21-03-2014 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar winroute.rar
(13.9 Kb, 11 просмотров)

Вот

Отправлено: 13:56, 21-03-2014 | #5


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


PowerShell:
Код: Выделить весь код
$file = "C:\winroute.cfg"
$xml = [xml](Get-Content $file)
$url = Get-Content url.txt

$ug= $xml.config.list[14]

for($i=0;$i -lt $url.count;$i++) {
	$ug.listitem[$i].variable[4]."#text" = $urls[$i]
}

$xml.Save($file)
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:56, 21-03-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


С каким именно из «list» работаем?

Отправлено: 14:58, 21-03-2014 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Kazun, «name="UrlGroups"», это точно? Может, стоит тогда ориентироваться именно по имени?!
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:20, 21-03-2014 | #8


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Iska, пожалуй Вы правы - лучше по имени. А с UrlGroups - не уверен

smotritel89 , если потребуется по имени
Код: Выделить весь код
$ug= $xml.config.list[14] заменить на
$ug.SelectNodes("//list[@name='UrlGroups']")
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:53, 21-03-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Kazun:
А с UrlGroups - не уверен »
Ну, коль автор счёл полезным — будем считать, что Вы верно выбрали узел.

Отправлено: 00:09, 22-03-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Заполнить данные XML файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - [решено] Вытянуть данные из XML virus8 Программирование и базы данных 7 12-03-2013 01:18
Delphi - Как взять данные с Delphi и этими же данными заполнить форму в Worde? GoodsmaK Программирование и базы данных 13 14-07-2011 08:06
Разное - как отобразить данные XML в документе Word? shovgenyuk Microsoft Office (Word, Excel, Outlook и т.д.) 3 21-06-2011 00:49
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 dimait Вебмастеру 4 23-08-2007 02:02
Как получить данные из xml-файла? ptt Программирование и базы данных 1 14-10-2004 09:45




 
Переход