반응형
PowerShell에서 XML용 하위 요소를 추가하는 방법
이 xml에 대한 하위 XML 요소를 만들려고 합니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>
이 PowerShell 스크립트를 사용합니다.
[xml] $doc = Get-Content($filePath)
$child = $doc.CreateElement("newElement")
$doc.configuration.AppendChild($child)
오류가 있습니다.[시스템] 때문에 메서드 호출에 실패했습니다.String]에 'ApendChild'라는 메서드가 없습니다.
점 표기법을 사용하여 XML 파일을 탐색하는 경우(예:$doc.configuration
), 파워셸은 그것이 반환되는 것에 대해 영리해지려고 노력합니다.
- 대상 요소가 비어 있거나 텍스트 노드 하나만 포함된 경우 PS는 다음을 반환합니다.
String
. - 대상 요소에 텍스트 노드 이외의 하위 노드가 포함되어 있으면 다음 값을 반환합니다.
XmlElement
. - 대상 요소가 여러 개 존재할 경우 다음을 반환합니다.
Object[]
, 여기서 각각의 개별 배열 요소는 다시 이러한 규칙의 적용을 받습니다. 예를 들어, 그것은 다음 중 하나가 될 것입니다.String
혹은XmlElement
내용에 따라서 - 대상 요소가 존재하지 않으면 PS가 반환됩니다.
$null
.
사용자의 경우 문서 요소에 노드를 추가하기 때문에 쉽습니다.
$doc = New-Object System.Xml.XmlDocument
$doc.Load($filePath)
$child = $doc.CreateElement("newElement")
$doc.DocumentElement.AppendChild($child)
하지만 당신은 사용할 수 있습니다.$doc.SelectNodes()
아니면$doc.SelectSingleNode()
XML 문서를 탐색하고 항상 노드/노드 목록을 반환합니다.
이 동작의 민감성에 대해 논쟁할 수 있지만, 실제로는 구성 파일이나 API 응답에서 값을 읽는 것과 같은 작업과 같이 (정교하게 구조화된) XML을 소비하는 것을 꽤 간단하게 만듭니다.그것이 이 간단한 구문의 목적입니다.
더 복잡한 작업인 XML을 생성하는 데는 좋은 도구가 아닙니다.여기서는 처음부터 DOM API 메소드를 사용하는 것이 더 나은 방법입니다.
언급URL : https://stackoverflow.com/questions/19245359/how-to-add-a-child-element-for-xml-in-powershell
반응형
'programing' 카테고리의 다른 글
Swift에서 UIViewController 하위 클래스의 사용자 지정 이니셜라이저를 만드는 방법은 무엇입니까? (0) | 2023.11.05 |
---|---|
ForEach-Object - Parallel에서 사용자 지정 함수를 전달하는 방법 (0) | 2023.11.05 |
Javascript/Angular JS에서 반올림하는 방법 -- 그러나 중요하지 않은 숫자를 제거하는 방법 (0) | 2023.11.05 |
$(이것은) AJAX 성공 내부에서 작동하지 않음 (0) | 2023.11.05 |
MariaDB Community Server 10.5 Alpha의 MariaDB Columnstore 1.4 (0) | 2023.11.05 |