Как выбрать значение xml с помощью XML starlet

Как получить значение с помощью xmlstarlet?

Я пытаюсь получить начальное значение 4.7 из следующего xml-файла:

<?xml version="1.0"?>
<GCContextualMethod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.agilent.com/schemas/Analytical/Instrument/GC7890/2006/">
  <method xmlns="">
    <GC PostRunHoldTime="0" AutoPrepRun="UNKNOWN">
      <Inlet DeterminesReadiness="true">
        ...
      </Inlet>
      <Inlet DeterminesReadiness="true" />
      <Column DeterminesReadiness="true">
        ...
      </Column>
      <Column DeterminesReadiness="true">
        <Setpoints Mode="CONSTANT_FLOW">
          <Flow State="ON" InitialHoldTime="0" InitialValue="4.7" PostRunValue="4.7" />
        </Setpoints>
      </Column>
      <Column DeterminesReadiness="false">  

Я пробовал следующее, Но это не сработало:

%cd%resourcesXML.EXE sel -t -c "/GCContextualMethod/method[@xmlns=""]/GC[@PostRunHoldTime="0"]/Column[2]/Setpoints[@Mode="CONSTANT_FLOW"]/Flow[@State="ON"]@InitialValue"  %cd%GC78901.RapidControl.MethodXML.xml
10
задан JvE010
09.04.2023 11:25 Количество просмотров материала 3478
Распечатать страницу

1 ответ

в powershell это просто строки:

[xml]$XmlDocument = Get-Content -Path C:\...\test.xml
$XmlDocument.GCContextualMethod.method.GC.Column.Setpoints.Flow.InitialValue | Out-File c:\temp\result.txt

сохранить в какой-нибудь скрипт.ps1 и изменить путь к реальному xml. Результат 4.7 будет в файле txt.

обратите внимание, что в реальном xml-файле все элементы, такие как "GCContextualMethod" или "method", должны иметь закрывающую пару с открывающей. Что не представлено в вашем примере. Итак, при создании s примера я закончил xml на:

 </GC>
</method>
</GCContextualMethod>
0
отвечен Hardoman 2023-04-10 19:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх