반응형
파워셸을 사용하여 xml에서 속성 값을 가져오는 방법은 무엇입니까?
XML 파일 목록이 있으므로 특정 행 뒤에 있는 문자열을 가져와야 합니다.
파일에서 태그를 찾아야 합니다.Event
속성 값을 가져옵니다.DLLRoutine
예를 들어 태그는 아래와 같습니다...
<Event Definition="Validate" DLLPath="" DLLName="Helper.dll" DLLClass="HelpMain"
DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures"
InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
나는 단지 그것을 얻기만 하면 됩니다.Dllroutine
가치.PowerShell을 사용하는 방법은 무엇입니까?
XML 구조가 다음과 유사하다고 가정합니다.
$xml = [xml]'
<Events>
<Event Definition="Validate" DLLPath="" DLLName="Helper.dll" DLLClass="HelpMain" DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures" InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
<Event Definition="Validate1" DLLPath="" DLLName="Helper.dll1" DLLClass="HelpMain1" DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures" InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
</Events>
'
#Or get it from a XML file
$xml = [xml](Get-Content $XMLPath)
$xml.Events.Event | Select DLLName
다음과 같이 가정합니다.Event
요소가 있습니다.Events
요소 루트:
$xml.Events.Event.DLLName
파워셸 3에서만 테스트해봤어요
점 표기법 대신 xpath도 사용할 수 있습니다.
$xml.SelectNodes('//Events/Event') | select DLLName
사용할 수 있습니다.Select-XML
:
$xml = [xml]'
<Events>
<Event Definition="Validate" DLLPath="" DLLName="Helper.dll" DLLClass="HelpMain" DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures" InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
<Event Definition="Validate1" DLLPath="" DLLName="Helper.dll1" DLLClass="HelpMain1" DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures" InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
</Events>
'
Select-XML -xml $xml -xpath "//Event/@DLLName"
해라$xml.Events.Event.DLLName
버전 2에서 작동할 것입니다. 여러 스크립트에서 xpath를 사용하려고 시도했지만 매번 실패하여 점 표기법을 시도할 때까지 제가 잘못하고 있다고 생각했습니다.
언급URL : https://stackoverflow.com/questions/12212452/how-to-fetch-an-attribute-value-from-xml-using-powershell
반응형
'programing' 카테고리의 다른 글
MariaDB - 기술 통계량에 대한 왜도 및 첨도 얻기 (0) | 2023.07.26 |
---|---|
npm 글로벌 경로 접두사 (0) | 2023.07.26 |
IN 절에 대한 매개 변수가 있는 Oracle 저장 프로시저 (0) | 2023.07.26 |
명령줄에서 Powershell 스크립트를 실행하고 디렉터리를 매개 변수로 전달하는 방법 (0) | 2023.07.26 |
MySQL에서 여러 열의 MAX() 선택 (0) | 2023.07.26 |