반응형
● xml 파일 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
$Filepath = "C:\Users\TEST.xml"
# Create The Document
$XmlWriter = New-Object System.XMl.XmlTextWriter($Filepath,$Null)
# Set The Formatting
$xmlWriter.Formatting = "Indented"
$xmlWriter.Indentation = "4"
# Write the XML Decleration
$xmlWriter.WriteStartDocument()
# Write Root Element
$xmlWriter.WriteStartElement("script")
# Write the Document
$xmlWriter.WriteStartElement('os')
$xmlWriter.WriteAttributeString("Name","window")
$xmlWriter.WriteEndElement()
$xmlWriter.WriteStartElement('os')
$xmlWriter.WriteAttributeString("Name","linux")
$xmlWriter.WriteEndElement()
$xmlWriter.WriteStartElement('os')
$xmlWriter.WriteAttributeString("Name","Unix")
$xmlWriter.WriteEndElement()
# Write Close Tag for Root Element
$xmlWriter.WriteEndElement()
# End the XML Document
$xmlWriter.WriteEndDocument()
# Finish The Document
$xmlWriter.Finalize
$xmlWriter.Flush
$xmlWriter.Close()
|
cs |
TEST.xml ↘
<?xml version="1.0"?>
<script>
<os Name="window" />
<os Name="linux" />
<os Name="Unix" />
</script>
|
cs |
● XML 파일 다루기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 노드 값 조회
$xml.selectnodes($xPath) | % { $_.'#text' } # 복수 노드 선택
# 노드 개수 구하기
$root_node = $xml.SelectSingleNode($xPath) # 단일 노드 선택
$node_cnt = $root_node.selectnodes($xPath2).Count
# 노드 추가
$root_node.AppendChild($node_element)
# 불러오기
$Load_xml = [xml](Get-Content C:\Users\TEST.xml)
# 저장
$Element = $Load_xml.CreateElement("ip_address") # 새 element 생성
$Element.SetAttribute('value',"192.168.0.10") # .. 속성부여
$Element.InnerText = "window_xml" # .. 값 삽입
$Load_xml.script.os[0].AppendChild($Element) # xml 노드 추가
$Load_xml.Save($Filepath)
|
cs |
TEST.xml(14줄 이후) ↘
<?xml version="1.0"?>
<script>
<os Name="window">
<ip_address value="192.168.0.10">win</ip_address>
</os>
<os Name="linux" />
<os Name="Unix" />
</script>
|
cs |
반응형
'OS-서버 > 윈도우' 카테고리의 다른 글
Powershell 엑셀 사용 (0) | 2018.10.05 |
---|---|
Powershell 원격에서 ssh 명령 실행 , 파일 전송 (0) | 2018.03.20 |
Powershell 잡지식 (0) | 2018.03.20 |
Powershell 원격 제어 (0) | 2018.03.20 |
Powershell Alias (0) | 2018.03.20 |