通常来说,手动创建XML文档是一个痛苦的过程。源于XML文档的特殊结构,导致手工创建时容易出现错误。手误输入一两个字符,忘记关闭括号,或者没有正确声明空间并且文档不会验证。最好的做法是使用代码来创建XML文档。
代码不会出现笨拙的拼写错误,也不会忘记添加细节标签。 PowerShell提供了几个创建XML文档的方法。最好的方法之一是使用XMLTextWriter类。其他技术包括将现有的文本文件转换成XML文档。
本文将解释如何创建格式优秀的XML文档。XML文档应该是这样的: <?xml version=”1.0″?> <!—Car list–……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
通常来说,手动创建XML文档是一个痛苦的过程。源于XML文档的特殊结构,导致手工创建时容易出现错误。手误输入一两个字符,忘记关闭括号,或者没有正确声明空间并且文档不会验证。最好的做法是使用代码来创建XML文档。代码不会出现笨拙的拼写错误,也不会忘记添加细节标签。
PowerShell提供了几个创建XML文档的方法。最好的方法之一是使用XMLTextWriter类。其他技术包括将现有的文本文件转换成XML文档。
本文将解释如何创建格式优秀的XML文档。XML文档应该是这样的:
<?xml version="1.0"?>
<!—Car list-->
<Cars Owner="Jay Leno">
<Car VIN="123567891">
<Make>Ford</Make>
<Model>Taurus</Model>
<Year>2012</Year>
</Car>
<Car VIN="123555567891">
<Make>BMW</Make>
<Model>328i</Model>
<Year>2015</Year>
</Car>
</Machines>
首先,使用 New-Object实例化XmlTextWriter对象。因为XmlTextWriter对象需要知道在哪里创建XML文件,我们需要将XML文件传递给它的构造函数:
$xmlWriter = New-Object System.XMl.XmlTextWriter('C:Cars.xml',$Null)
图1. 使用New-Object
如图1所示,创建对象的同事会立即创建XML文件。此时是一个空白文本文件。
因为XML文件更容易阅读,因此我们应该应用格式规则。没有格式化的话,所有节点将被压缩,难以阅读。虽然PowerShell可以读取节点,但对我们来说是不容易的。因此你我喜欢使用制表符缩进。
$xmlWriter.Formatting = 'Indented'
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"
然后,创建一个结构良好的XML文件。
$xmlWriter.WriteStartDocument()
接下来,做Carsz注释。
$xmlWriter.WriteComment('Car List')
Then create the root element called Cars.
$xmlWriter.WriteStartElement('Cars')
接下来,使用WriteAttributeString()方法设置XML属性。然后创建Owner属性表示谁拥有这些汽车。
$XmlWriter.WriteAttributeString('Owner', 'Jay Leno')
创建根元素后,使用WriteStartElement()添加两个元素(cars)。这会告诉PowerShell,我们现在将会添加一个新的元素。
$xmlWriter.WriteStartElement('Car')
接下来,将VIN属性添加到第一个Car元素,然后在Car元素内部创建几个节点来代表各种属性。
$xmlWriter.WriteAttributeString('VIN', '123567891')
$xmlWriter.WriteElementString('Make','Ford')
$xmlWriter.WriteElementString('Model','Taurus')
$xmlWriter.WriteElementString('Year','2012')
添加这个Car元素之后,使用WriteEndElement()方法结束这个元素。
$xmlWriter.WriteEndElement()
Now, let's just add another Car element.
$xmlWriter.WriteStartElement('Car')
$xmlWriter.WriteAttributeString('VIN', '123555567891')
$xmlWriter.WriteElementString('Make','BWM')
$xmlWriter.WriteElementString('Model','328i')
$xmlWriter.WriteElementString('Year','2015')
Next, close the root element Cars.
$xmlWriter.WriteEndElement()
最后,关闭文档,清楚任何内部缓冲区并关闭文件流释放控制。
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
你现在应该获得了一个良好格式的XML文档。来验证一下吧,我们读取XML文件看看是否一切安好。
图2. 阅读XML文件来验证所有的内容已经添加
如图2所示,版本,注释,Owner属性和两个Car节点都已经添加。成功了!
使用XmlTextWriter来创建XML文档是最好的方法。它可以执行任何你需要做的XML文档,而不必担心任何事情。
相关推荐
-
应用PowerShell进行SharePoint Online管理
在应用PowerShell在线管理SharePoint之前,管理员需要进行一系列准备工作,例如下载SharePoint Online Management Shell等。
-
两种方式将Windows容器部署到微软Azure中
想要创建并管理Windows Server容器吗?本文将会介绍如何利用本地Docker命令和PowerShell模块来实现以上目标。
-
PowerShell脚本示例及管理员参考指南
精明的Windows专业人士和管理员甚至也会做出比卷子袖子干事更加愚笨的事情,为了实现自动化任务,他们需要了解脚本语言以及所有PowerShell工具。
-
如何使用PowerShell管理Windows服务
管理员如何在本地或者远程计算机上操控服务,面对变几十台甚至几百台机器时,PowerShell就派上用场了。