Powershell, xml을 화면으로 출력
저는 PowerShell을 배우고 있습니다.변수에 xml 파일을 로드하고 조작할 수 있습니다.그런 다음 개체의 저장 방법을 호출하여 디스크에 저장할 수 있습니다.하지만 결과적으로 xml을 화면으로 출력할 수 있는 방법이 있을 것으로 예상했습니다.찾을 수 없을 것 같습니다.파일로 출력한 다음 파일에서 화면으로 출력하는 것 외에 다른 방법이 있습니까?
Community Extensions를 작동시키지 못했으며 추가 설치를 원하지 않습니다.마이크로소프트 블로그에서 또 다른 접근법을 찾았습니다.
function WriteXmlToScreen ([xml]$xml)
{
$StringWriter = New-Object System.IO.StringWriter;
$XmlWriter = New-Object System.Xml.XmlTextWriter $StringWriter;
$XmlWriter.Formatting = "indented";
$xml.WriteTo($XmlWriter);
$XmlWriter.Flush();
$StringWriter.Flush();
Write-Output $StringWriter.ToString();
}
$xml = [xml]'<root><so><user name="john">thats me</user><user name="jane">do you like her?</user></so></root>'
WriteXmlToScreen $xml
내가 아는 유일한 방법은System.Xml
같은 속성outerxml
또는innerxml
이러한 속성은 소스가 있는 한 이미 들여쓰기된 코드가 있어야 합니다.
PSCX 모듈을 살펴봅니다.찾을 수 있습니다.Format-Xml
정확히 그렇게 하는 cmdlet.
예:
Import-Module pscx
$xml = [xml]'<root><so><user name="john">thats me</user><user name="jane">do you like her?</user></so></root>'
Format-Xml -InputObject $xml
다음을 생성합니다.
<root>
<so>
<user name="john">thats me</user>
<user name="jane">do you like her?</user>
</so>
</root>
자세한 내용은 다음을 참조하십시오.help format-xml -full
[System.Xml.Linq.XDocument]::Parse($Xml.OuterXml).ToString()
내가 찾은 가장 깨끗한 해결책은 시스템을 사용하는 것입니다.Xml.Linq.XDocument.다음과 같이 구문 분석:
Write-Host ([System.Xml.Linq.XDocument]::Parse("$(Get-Content -path 'c:\myxml.xml' -Raw)"));
이것은 오래된 스레드이지만 저는 저의 진부한 답변을 공유하고 싶었습니다.나는 xml을 php로 보내야 했고 다른 것은 보낼 수 없었습니다.
제가 생각해낸 답은 파일을 디스크에 저장한 다음 거기서 컨텐츠를 가져오는 것이었습니다.이것은 xml 텍스트를 반향하며 다른 것은 없습니다.
#hack alert.
#we need to echo out just the text of the XML back to PHP.
IF ("$env:TEMP\xml.xml") {Remove-Item "$env:TEMP\xml.xml"}
#$xmlDoc.Save("c:\temp\xml.xml")
$xmlDoc.Save("$env:TEMP\xml.xml")
get-content "$env:TEMP\xml.xml"
나의 경우, 나는 그것을 PHP로 다시 보내고 있었고 그것은 완벽하게 작동했습니다.
언급URL : https://stackoverflow.com/questions/6142053/powershell-output-xml-to-screen
'source' 카테고리의 다른 글
텍스트 영역 내부의 HTML 렌더링 (0) | 2023.08.12 |
---|---|
Docker 컨테이너에서 호스트로 파일 복사 (0) | 2023.08.12 |
그라데이션 테두리 (0) | 2023.08.12 |
호스트에서 도커 컨테이너로 파일을 복사하는 방법은 무엇입니까? (0) | 2023.08.12 |
문자열에서 특정 문자 잘라내기 (0) | 2023.08.12 |