Anlage des Repos
This commit is contained in:
65
knowlegbase/XML Händling/Entwicklung/xmldemo.ps1
Normal file
65
knowlegbase/XML Händling/Entwicklung/xmldemo.ps1
Normal file
@@ -0,0 +1,65 @@
|
||||
# this is where the document will be saved:
|
||||
$Path = "E:\DB-XML-Test\inventory.xml"
|
||||
|
||||
# get an XMLTextWriter to create the XML
|
||||
$XmlWriter = New-Object System.XMl.XmlTextWriter($Path,$Null)
|
||||
|
||||
# choose a pretty formatting:
|
||||
$xmlWriter.Formatting = 'Indented'
|
||||
$xmlWriter.Indentation = 1
|
||||
$XmlWriter.IndentChar = "`t"
|
||||
|
||||
# write the header
|
||||
$xmlWriter.WriteStartDocument()
|
||||
|
||||
# set XSL statements
|
||||
$xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'")
|
||||
|
||||
# create root element "machines" and add some attributes to it
|
||||
$XmlWriter.WriteComment('List of machines')
|
||||
$xmlWriter.WriteStartElement('Machines')
|
||||
$XmlWriter.WriteAttributeString('current', $true)
|
||||
$XmlWriter.WriteAttributeString('manager', 'Tobias')
|
||||
|
||||
# add a couple of random entries
|
||||
for($x=1; $x -le 10; $x++)
|
||||
{
|
||||
$server = 'Server{0:0000}' -f $x
|
||||
$ip = '{0}.{1}.{2}.{3}' -f (0..256 | Get-Random -Count 4)
|
||||
|
||||
$guid = [System.GUID]::NewGuid().ToString()
|
||||
|
||||
# each data set is called "machine", add a random attribute to it:
|
||||
$XmlWriter.WriteComment("$x. machine details")
|
||||
$xmlWriter.WriteStartElement('Machine')
|
||||
$XmlWriter.WriteAttributeString('test', (Get-Random))
|
||||
|
||||
# add three pieces of information:
|
||||
$xmlWriter.WriteElementString('Name',$server)
|
||||
$xmlWriter.WriteElementString('IP',$ip)
|
||||
$xmlWriter.WriteElementString('GUID',$guid)
|
||||
|
||||
# add a node with attributes and content:
|
||||
$XmlWriter.WriteStartElement('Information')
|
||||
$XmlWriter.WriteAttributeString('info1', 'some info')
|
||||
$XmlWriter.WriteAttributeString('info2', 'more info')
|
||||
$XmlWriter.WriteRaw('RawContent')
|
||||
$xmlWriter.WriteEndElement()
|
||||
|
||||
# add a node with CDATA section:
|
||||
$XmlWriter.WriteStartElement('CodeSegment')
|
||||
$XmlWriter.WriteAttributeString('info3', 'another attribute')
|
||||
$XmlWriter.WriteCData('this is untouched code and can contain special characters /\@<>')
|
||||
$xmlWriter.WriteEndElement()
|
||||
|
||||
# close the "machine" node:
|
||||
$xmlWriter.WriteEndElement()
|
||||
}
|
||||
|
||||
# close the "machines" node:
|
||||
$xmlWriter.WriteEndElement()
|
||||
|
||||
# finalize the document:
|
||||
$xmlWriter.WriteEndDocument()
|
||||
$xmlWriter.Flush()
|
||||
$xmlWriter.Close()
|
||||
Reference in New Issue
Block a user