PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Ответить
 • Просмотры: 1
Аватара пользователя
Vadikan

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение Vadikan »

Цитата dark-------13:



разве не должна выводить текст расположенный между тегами anketa_id
PowerShell - [решено] Подскажите как получить текст расположенный между тегами




Должна, если только вы ее в две строки напишете.


Цитата dark-------13:



Если написать так

[xml]$text = Get-Content D:\base64\obr.xml $text.clients.client

то выдает то что между тегами client
PowerShell - [решено] Подскажите как получить текст расположенный между тегами




Так и должно быть.



Если честно, я не понимаю, в чем ваша проблема. Вы показываете мне разные фрагменты файлов каждый раз, причем в отрыве от команд.



В общем, последовательно указывайте узлы XML, и будет выводиться тот, что указан последним.
Аватара пользователя
dark-------13

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение dark-------13 »

Команда ниже разве не должна выводить текст расположенный между тегами anketa_id



Код:

Код: Выделить всё

[xml]$text = Get-Content D:\base64\obr.xml $text.clients.client.anketa_id

Если написать так

[xml]$text = Get-Content D:\base64\obr.xml $text.clients.client

то выдает то что между тегами client
Аватара пользователя
dark-------13

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение dark-------13 »

Цитата dark-------13:



и ничего не выдает
PowerShell - [решено] Подскажите как получить текст расположенный между тегами




Да? И никаких ошибок не пишет? А мне говорит



Код:

Код: Выделить всё

Не удается преобразовать значение "System.Object[]" в тип "System.Xml.XmlDocument". Ошибка: "Непредусмотренный конец файла. Не закрыты следующие элементы: CLIENT, CLIENTS., строка 4, позиция 25."

Теги надо закрыть,



Код:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<CLIENTS>
<CLIENT>
<ANKETA>1008393</ANKETA>
</CLIENT>
</CLIENTS>

Мы с вами ходим вокруг до около. А знаете почему? Потому что вы показываете мне какой-то фрагмент, я просто вставляю его в тестовый файл, составляю команду - все работает. Потом вы берете эту команду и пытаетесь ее применять к какому-то другому файлу.



Что характерно, в сообщении
PowerShell - [решено] Подскажите как получить текст расположенный между тегами
теги были закрыты. Вы их удалили - ничего не работает. Ну так ССЗБ.
Аватара пользователя
Vadikan

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение Vadikan »

Спасибо за помощь и терпение Vadikan, пример полного документа не привожу т.к. в нем 65000 строк которые пришлось бы править суть понял - буду искать ошибку в xml документе, когда теги закрыты ищет все как положено в тестовом xml документе.
Аватара пользователя
dark-------13

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение dark-------13 »

Спасибо за помощь и терпение Vadikan, пример полного документа не привожу т.к. в нем 65000 строк которые пришлось бы править суть понял - буду искать ошибку в xml документе, когда теги закрыты ищет все как положено в тестовом xml документе.
Аватара пользователя
dark-------13

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение dark-------13 »

Вопрос, - а как такой файл обрабатывать если нужно вытащить данные из тега anketa ?









1008





2055508
Аватара пользователя
Vadikan

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение Vadikan »

dark-------13, гм... да точно так же.



Код:

Код: Выделить всё

[xml]$text = Get-Content "C:\test\test.xml"
$text.clients.client.anketa

Рез-т

Код:

Код: Выделить всё

1008
2055508

P.S. Предчувствую следующий вопрос - как связать данные из anketa с client...
Аватара пользователя
dark-------13

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение dark-------13 »

Вот что выдает



Код:

Код: Выделить всё

 PS C:\Users\A> [xml]$text = Get-Content "D:\base64\new.xml"
$text.clients.client.anketa

Сохранил код скрипта, запустил еще раз выдает



Код:

Код: Выделить всё

PS C:\Users\A> D:\батники рабочие ---\ping_do_new\БезИмени2.ps1

Почемуто у меня не выполняется на тестовом файле



Предыдущий скрипт у меня должен выдавать тоже, что и у вас, но ни чего не выдает - после выполнения скрипта.

Если исправляю xml так то можно выбрать данные только таким скриптом





Код:

Код: Выделить всё

PS C:\Users\A> [xml]$text = Get-Content "D:\base64\new.xml"
$text.clients.client1.anketa1







1008





2055508
Аватара пользователя
Vadikan

Re: PowerShell - [решено] Подскажите как получить текст расположенный между тегами

Сообщение Vadikan »

dark-------13, а вы уберите кириллицу и пробелы из пути



Код:

Код: Выделить всё

iex D:\scripts\xml.ps1
Ответить

Вернуться в «Скриптовые языки администрирования Windows»