XPath를 사용하여 XML에서 속성 선택
-
Select-Xml
Cmdlet을 사용하여 PowerShell에서 XML의 특성 선택 -
SelectNodes
메서드를 사용하여 PowerShell에서 XML의 특성 선택 -
Get-Content
Cmdlet을 사용하여 PowerShell에서 XML의 특성 선택
XML은 Extensible Markup Language의 약자입니다. XML 파일은 문서의 구조를 정의하는 사용자 정의 태그가 있는 일반 텍스트 파일입니다.
주로 구조화된 정보를 저장하고 공유하는 데 사용됩니다. XML 파일의 내용은 HTML 파일과 유사합니다.
이 자습서에서는 PowerShell에서 XPath를 사용하여 XML에서 특성을 선택하는 다양한 방법을 소개합니다.
Select-Xml
Cmdlet을 사용하여 PowerShell에서 XML의 특성 선택
Select-Xml
cmdlet을 사용하면 XPath를 사용하여 XML 문자열 또는 문서에서 텍스트를 찾을 수 있습니다.
이것은 XML 파일의 간단한 예입니다.
<website>
<site name="DelftStack">
<content>
<topic>PowerShell Howtos</topic>
<article>How to convert XML into CSV?</article>
</content>
</site>
<site name="DelftStack">
<content>
<topic>Linux Howtos</topic>
<article>Delete Files Recursively in Linux</article>
</content>
</site>
</website>
다음 명령은 C:\Users\rhntm
디렉토리의 new.xml
파일에서 XPath 쿼리 topic
을 검색합니다.
Select-Xml -Path C:\Users\rhntm\new.xml -XPath "//topic" | Select-Object -ExpandProperty Node
출력:
#text
-----
PowerShell Howtos
Linux Howtos
-Path
매개변수는 검색할 XML 파일의 경로와 파일 이름을 지정합니다.
-XPath
매개변수는 검색할 XPath 쿼리를 지정합니다. 쿼리 텍스트는 대소문자를 구분합니다.
SelectNodes
메서드를 사용하여 PowerShell에서 XML의 특성 선택
SelectNodes()
메소드는 XML 파일의 XPath 표현식과 일치하는 노드 목록을 선택합니다.
다음 예는 new.xml
파일에서 content
노드를 선택합니다.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content')
출력:
topic article
----- -------
PowerShell Howtos How to convert XML into CSV?
Linux Howtos Delete Files Recursively in Linux
[xml]
은 변수를 XML 개체로 캐스팅합니다. Get-Content
cmdlet은 C:\Users\rhntm\new.xml
의 내용을 가져와 $xml
변수에 저장합니다.
특정 특성을 선택하려면 Select-Object
cmdlet을 사용할 수 있습니다. 예를 들어, 다음 명령은 new.xml
파일에서 article
만 선택합니다.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content') | Select-Object article
출력:
article
-------
How to convert XML into CSV?
Delete Files Recursively in Linux
Get-Content
Cmdlet을 사용하여 PowerShell에서 XML의 특성 선택
위에서 본 것처럼 Get-Content
cmdlet은 XML 파일의 내용을 가져옵니다. 내용을 변수에 저장하고 XML 개체로 캐스팅할 수 있습니다.
다음 예는 Get-Content
를 사용하고 XML 파일에서 속성을 선택하는 방법을 보여줍니다.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.website.site.content.topic
출력:
PowerShell Howtos
Linux Howtos
이것은 XML 파일에서 텍스트 값을 원하는 경우 사용하기 쉬운 방법입니다. 이것이 PowerShell에서 XML의 특성을 선택하는 방법에 도움이 되었기를 바랍니다.