smotritel89 |
21-03-2014 12:26 2326610 |
Заполнить данные XML файла
Всем привет!
Есть список в файле 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, естественно по порядку?
|
Цитата:
Цитата smotritel89
Есть файл xml, такой структуры »
|
Не бывает таких xml-файлов, упакуйте образец реального xml-файла в архив и приложите.
Цитата:
Цитата smotritel89
Как можно данные из файла TXT, занести на место XXXXX в XML, естественно по порядку? »
|
Чем определяется порядок? Как поступать в случае разного количества строк в txt и числа узлов «listitem» в xml-файле?
|
smotritel89 |
21-03-2014 13:42 2326635 |
да это на самом деле конфигурационный файл, который нужно заполнить списком сайтов.
я от туда просто выделил узлы в отдельный файл и в которые нужно заполнить данные, в тег 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, первого узла в файле конфига. и так по порядку.
|
Цитата:
Цитата smotritel89
да это на самом деле конфигурационный файл, который нужно заполнить списком сайтов.
я от туда просто выделил узлы в отдельный файл и в которые нужно заполнить данные, в тег Url. »
|
smotritel89, не надо выделять. Повторяю: упакуйте xml-файл в архив и выложите его.
|
smotritel89 |
21-03-2014 13:56 2326642 |
Вложений: 1
Вот
|
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)
|
С каким именно из «list» работаем?
|
Kazun, «name="UrlGroups"», это точно? Может, стоит тогда ориентироваться именно по имени?!
|
Iska, пожалуй Вы правы - лучше по имени. А с UrlGroups - не уверен
smotritel89 , если потребуется по имени
Код:
$ug= $xml.config.list[14] заменить на
$ug.SelectNodes("//list[@name='UrlGroups']")
|
Цитата:
Цитата Kazun
А с UrlGroups - не уверен »
|
Ну, коль автор счёл полезным — будем считать, что Вы верно выбрали узел.
|
Время: 20:32.
© OSzone.net 2001-