机房360首页 CalConv();
当前位置:首页 » 服务器资讯 » 使用PowerShell创建XML文档

使用PowerShell创建XML文档

来源:TechTarget中国 作者:DJ编辑 更新时间:2015-11-20 10:58:58

摘要:通常来说,手动创建XML文档是一个痛苦的过程。源于XML文档的特殊结构,导致手工创建时容易出现错误。手误输入一两个字符,忘记关闭括号,或者没有正确声明空间并且文档不会验证。最好的做法是使用代码来创建XML文档。代码不会出现笨拙的拼写错误,也不会忘记添加细节标签。

  通常来说,手动创建XML文档是一个痛苦的过程。源于XML文档的特殊结构,导致手工创建时容易出现错误。手误输入一两个字符,忘记关闭括号,或者没有正确声明空间并且文档不会验证。最好的做法是使用代码来创建XML文档。代码不会出现笨拙的拼写错误,也不会忘记添加细节标签。

  PowerShell提供了几个创建XML文档的方法。最好的方法之一是使用XMLTextWriter类。其他技术包括将现有的文本文件转换成XML文档。

  本文将解释如何创建格式优秀的XML文档。XML文档应该是这样的:

  Ford

  Taurus

  2012

  BMW

  328i

  2015

  首先,使用 New-Object实例化XmlTextWriter对象。因为XmlTextWriter对象需要知道在哪里创建XML文件,我们需要将XML文件传递给它的构造函数:

  $xmlWriter = New-Object System.XMl.XmlTextWriter('C:\Cars.xml',$Null)

图1. 使用New-Object

  图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. 阅读XML文件来验证所有的内容已经添加

  如图2所示,版本,注释,Owner属性和两个Car节点都已经添加。成功了!

  使用XmlTextWriter来创建XML文档是最好的方法。它可以执行任何你需要做的XML文档,而不必担心任何事情。

  责任编辑:DJ编辑

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/20151120/n431774809.html 网友评论: pubajax('/comment.aspx','id=812942475160&commCount=1&ChID=0&Today=0','gCount8129424751601680');条 阅读次数:pubajax('/click.aspx','id=812942475160','click_812942475160');
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
function GetCommentList(page) { var Action='id=812942475160&ChID=0&CommentType=GetCommentList&page='+page; var options={ method:'get', parameters:Action, onComplete:function(transport) { var returnvalue=transport.responseText; if (returnvalue.indexOf("??")>-1) document.getElementById("Div_CommentList").innerHTML='加载评论列表失败'; else document.getElementById("Div_CommentList").innerHTML=returnvalue; } }; new Ajax.Request('/comment.aspx?no-cache='+Math.random(),options); } GetCommentList(1);
评论表单加载中...
function GetAddCommentForm() { var Action='id=812942475160&ChID=0&CommentType=GetAddCommentForm'; var options={ method:'get', parameters:Action, onComplete:function(transport) { var returnvalue=transport.responseText; var arrreturnvalue=returnvalue.split('$$$'); if (arrreturnvalue[0]=="ERR") document.getElementById("Div_CommentForm").innerHTML='加载评论表单失败!'; else document.getElementById("Div_CommentForm").innerHTML=arrreturnvalue[1]; } }; new Ajax.Request('/comment.aspx?no-cache='+Math.random(),options); } GetAddCommentForm(); function CommandSubmit(obj) { if(obj.UserNum.value=="") { obj.UserNum.value="Guest"; } if(obj.Content.value=="") { alert('评论内容不能为空'); return false; } var r = obj.commtype; var commtypevalue = '2'; for(var i=0;i
推荐图片