1

Приветствую всех,

Я просматривал Q & A, но не могу найти способ сделать это. В основном я хотел получить результат 2 синтаксиса в 1 текстовом файле.

вот часть XML:

<JOB PRO_JOB="D6C1608493" XMLMODE="REPORT">

<SAMPLE CUID="0001347496" SAMPLETYPE="OTHER" SAMPLEIDENT="1608493-2" SAMPLETIME="18/09/2016 2300">

    <SCHEME SCH_CODE="/CSA" SCHEMETYPE="ANALYS">


        <ANALYTE ANALYTECODE="S" ANALYTENAME="S" TAG="FEED1" NUMERICVALUE="1.019999980926514" ROUNDEDVALUE="1.02">
        </ANALYTE>
        </SCHEME>
</SAMPLE>

Поэтому, когда я пытаюсь выполнить команду в powershell:$doc.job.sample.scheme.analyte это дает мне результат для Analyte, что нормально, но я также хочу получить результат, чтобы получить результат команды $doc .job.sample в 1 выходной текстовый файл. был в состоянии вывести его, но только с 1 командой.

Дополнительный вопрос: как мне отобразить только значение SAMPLETIME при выполнении $doc1.job.sample?

1 ответ1

1

Похоже, вам не хватает закрывающего тега на <JOB> , поэтому я предполагаю, что в конце документа есть один. Я также предполагаю, что вы загружаете XML примерно так:

$doc = [xml](Get-Content '.\samples.xml')

Я предполагаю, что вы выводите информацию в файл с помощью оператора перенаправления > . Как вы, вероятно, обнаружили, это уничтожает любое существующее содержимое целевого файла. Вы можете добавить к файлу, однако, с >> . Поэтому вы можете сделать что-то вроде этого:

$doc.JOB.SAMPLE.SCHEME.ANALYTE > outfile.txt
$doc.JOB.SAMPLE >> outfile.txt

Если вы хотите получить значение атрибута, вы можете просто рассматривать атрибут как другой дочерний объект на объекте его собственного элемента. Это печатает то, что вы хотите на экране; вы можете перенаправить его соответствующим образом:

$doc.JOB.SAMPLE.SAMPLETIME

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .