Изменить даты в XML-файле на сегодняшнюю дату - PullRequest
0 голосов
/ 13 июня 2019

Я работаю над автоматизацией одного из наших процессов путем импорта и экспорта данных через веб-сервисы. вызов веб-службы считывает параметры, которые у меня есть в файле XML. Экспорт данных должен выполняться ежедневно. поэтому я пытаюсь создать сценарий, который изменил бы дату начала и конечную дату в моем XML-файле на сегодняшнюю дату. Кто-нибудь может порекомендовать какие-либо эффективные способы сделать это?

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:vertexinc:oseries:taxdata:datamanagement:8:0">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:RunTaxDataExportRequest>
         <urn:ExportFileName>taxdataexport.txt</urn:ExportFileName>
     <urn:StartDate>2019-06-06</urn:StartDate>
     <urn:EndDate>2019-06-07</urn:EndDate>
         <FieldDelimiter>TILDE</FieldDelimiter>
         <urn:RecordType>CERTIFICATE</urn:RecordType>
         <urn:Login>
            <urn:UserName>yyyy</urn:UserName>
            <urn:Password>xxx</urn:Password>
         </urn:Login>
      </urn:RunTaxDataExportRequest>
   </soapenv:Body>
</soapenv:Envelope>

1 Ответ

0 голосов
/ 13 июня 2019

Для работы с вашим xml вам необходимо сначала преобразовать его в объект xml. Тогда будет довольно просто возиться с этим.

Следующее должно выполнить то, что вы пытаетесь сделать.

Пример:

#XML example
$xmlExample = '<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:vertexinc:oseries:taxdata:datamanagement:8:0">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:RunTaxDataExportRequest>
         <urn:ExportFileName>taxdataexport.txt</urn:ExportFileName>
     <urn:StartDate>2019-06-06</urn:StartDate>
     <urn:EndDate>2019-06-07</urn:EndDate>
         <FieldDelimiter>TILDE</FieldDelimiter>
         <urn:RecordType>CERTIFICATE</urn:RecordType>
         <urn:Login>
            <urn:UserName>yyyy</urn:UserName>
            <urn:Password>xxx</urn:Password>
         </urn:Login>
      </urn:RunTaxDataExportRequest>
   </soapenv:Body>
</soapenv:Envelope>'

#convert example to xml object
[xml]$xml = $xmlExample

#Change Start / End to today
$xml.Envelope.Body.RunTaxDataExportRequest.StartDate = (Get-Date).ToString("yyyy-MM-dd")
$xml.Envelope.Body.RunTaxDataExportRequest.EndDate = (Get-Date).ToString("yyyy-MM-dd")

#Display Results --- or do whatever with it
$xml.Envelope.Body.RunTaxDataExportRequest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...