向XML插入节点

前端之家收集整理的这篇文章主要介绍了向XML插入节点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.假如现在有一个Xml文件内容如下

<ReportItems>@H_403_10@ <LineName="line2">@H_403_10@ <Top>3.75cm</Top>@H_403_10@ <Width>0.2381cm</Width>@H_403_10@ <Style>@H_403_10@ <BorderStyle>@H_403_10@ <Default>Solid</Default>@H_403_10@ </BorderStyle>@H_403_10@ <FontFamily>宋体</FontFamily>@H_403_10@ </Style>@H_403_10@ <ZIndex>2</ZIndex>@H_403_10@ <Left>3.75cm</Left>@H_403_10@ <Height>0.50265cm</Height>@H_403_10@ </Line>@H_403_10@ </ReportItems>

2.现需要向下面的Xml文件内容的ReportItems节点下添加内容,变成下面的样子:

<ReportItems>@H_403_10@ <TextBoxName="textBox1">@H_403_10@ <Top>1.5cm</Top>@H_403_10@ <Width>2.75cm</Width>@H_403_10@ <Style>@H_403_10@ <FontFamily>宋体</FontFamily>@H_403_10@ <PaddingLeft>2pt</PaddingLeft>@H_403_10@ <PaddingRight>2pt</PaddingRight>@H_403_10@ <PaddingTop>2pt</PaddingTop>@H_403_10@ <PaddingBottom>2pt</PaddingBottom>@H_403_10@ </Style>@H_403_10@ <ZIndex>4</ZIndex>@H_403_10@ <CanGrow>true</CanGrow>@H_403_10@ <Left>20.25cm</Left>@H_403_10@ <Height>2.25cm</Height>@H_403_10@ <Value>HelloWorld</Value>@H_403_10@ </TextBox>@H_403_10@ <LineName="line1">@H_403_10@ <Top>3.75cm</Top>@H_403_10@ <Width>0.2381cm</Width>@H_403_10@ <Style>@H_403_10@ <BorderStyle>@H_403_10@ <Default>Solid</Default>@H_403_10@ </BorderStyle>@H_403_10@ <FontFamily>宋体</FontFamily>@H_403_10@ </Style>@H_403_10@ <ZIndex>2</ZIndex>@H_403_10@ <Left>3.75cm</Left>@H_403_10@ <Height>0.50265cm</Height>@H_403_10@ </Line>@H_403_10@ </ReportItems>

3.转换代码如下:

stringfile=File.ReadAllText(filePath);//filePath是Xml存放的完整路径@H_403_10@ TextReadertextReader=newStringReader(file);@H_403_10@ XElementdoc=XElement.Load(textReader);@H_403_10@ XElementnode=doc.Descendants().Where(c=>c.Name.LocalName=="ReportItems").First();//Name是包含命名空间的,LocalName不包含@H_403_10@ XNamespacens=doc.Name.NamespaceName;@H_403_10@ XElemente=newXElement(ns+"TextBox",newXAttribute("Name","textBox1"),//为节点添加属性@H_403_10@ newXElement(ns+"Top","1.5cm"),//在每个节点的名称前都要加上命名空间,不然会有xmlns:""的属性出现@H_403_10@ newXElement(ns+"Width","2.75cm"),@H_403_10@ newXElement(ns+"Style",@H_403_10@ newXElement(ns+"FontFamily","宋体"),@H_403_10@ newXElement(ns+"PaddingLeft","2pt"),@H_403_10@ newXElement(ns+"PaddingRight",@H_403_10@ newXElement(ns+"PaddingTop",@H_403_10@ newXElement(ns+"PaddingBottom",@H_403_10@ newXElement(ns+"Color","#FFFFFF"),@H_403_10@ newXElement(ns+"BackgroundColor","#3F2FAF"),@H_403_10@ newXElement(ns+"FontSize","5pt")),@H_403_10@ newXElement(ns+"ZIndex","4"),@H_403_10@ newXElement(ns+"CanGrow","true"),@H_403_10@ newXElement(ns+"Left","20.25cm"),@H_403_10@ newXElement(ns+"Height","2.25cm"),@H_403_10@ newXElement(ns+"Value","HelloWorld"));@H_403_10@ @H_403_10@ node.Add(e);//追加构造好的节点@H_403_10@ doc.Save(filePath);//保存到文件

@H_404_1147@

@H_404_1147@转载自:

http://www.cnblogs.com/cdts_change/archive/2010/03/16/1686869.html

猜你在找的XML相关文章