向XML插入节点
来源:互联网 发布:怎样在淘宝买东西啊 编辑:程序博客网 时间:2024/05/18 09:57
1.假如现在有一个Xml文件,内容如下
<ReportItems>
<Line Name="line2">
<Top>3.75cm</Top>
<Width>0.2381cm</Width>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
</Style>
<ZIndex>2</ZIndex>
<Left>3.75cm</Left>
<Height>0.50265cm</Height>
</Line>
</ReportItems>
2.现需要向下面的Xml文件内容的ReportItems节点下添加内容,变成下面的样子:
<ReportItems>
<Textbox Name="textbox1">
<Top>1.5cm</Top>
<Width>2.75cm</Width>
<Style>
<FontFamily>宋体</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>4</ZIndex>
<CanGrow>true</CanGrow>
<Left>20.25cm</Left>
<Height>2.25cm</Height>
<Value>Hello World</Value>
</Textbox>
<Line Name="line1">
<Top>3.75cm</Top>
<Width>0.2381cm</Width>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
</Style>
<ZIndex>2</ZIndex>
<Left>3.75cm</Left>
<Height>0.50265cm</Height>
</Line>
</ReportItems>
3.转换代码如下:
string file = File.ReadAllText(filePath); //filePath是Xml存放的完整路径
TextReader textReader = new StringReader(file);
XElement doc = XElement.Load(textReader);
XElement node = doc.Descendants().Where(c => c.Name.LocalName == "ReportItems").First(); //Name是包含命名空间的,LocalName不包含
XNamespace ns = doc.Name.NamespaceName;
XElement e = new XElement(ns + "Textbox", new XAttribute("Name", "textbox1"), //为节点添加属性
new XElement(ns + "Top", "1.5cm"), //在每个节点的名称前都要加上命名空间,不然会有xmlns:""的属性出现
new XElement(ns + "Width", "2.75cm"),
new XElement(ns + "Style",
new XElement(ns + "FontFamily", "宋体"),
new XElement(ns + "PaddingLeft", "2pt"),
new XElement(ns + "PaddingRight", "2pt"),
new XElement(ns + "PaddingTop", "2pt"),
new XElement(ns + "PaddingBottom", "2pt"),
new XElement(ns + "Color", "#FFFFFF"),
new XElement(ns + "BackgroundColor", "#3F2FAF"),
new XElement(ns + "FontSize", "5pt")),
new XElement(ns + "ZIndex", "4"),
new XElement(ns + "CanGrow", "true"),
new XElement(ns + "Left", "20.25cm"),
new XElement(ns + "Height", "2.25cm"),
new XElement(ns + "Value", "Hello World"));
node.Add(e); //追加构造好的节点
doc.Save(filePath); //保存到文件
转载自:
http://www.cnblogs.com/cdts_change/archive/2010/03/16/1686869.html
- 向XML插入节点
- 向单链表中插入、删除节点
- C#程序中:如何向xml文件中插入节点(数据)
- 向二叉树中插入节点
- 向升序单向链表中插入一个节点
- 向有序循环单向链表中插入节点
- 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 遍历XML,在指定位置插入节点
- xml文件指定位置插入节点+小结
- 华为OJ 向升序单向链表中插入一个节点
- 华为机试题:向升序单向链表中插入一个节点
- 向有序的环形单链表中插入新节点
- 向word生成的xml中插入xml
- HOWTO:向 TreeView 控件中添加 XML 节点
- sql 生成xml后,向根节点添加属性
- 向xml文档中指定位置上添加节点
- 使用vb.net向xml文件添加节点
- 当当低估了,唯品会高估了
- mysql大小写敏感(默认为1,不敏感)
- 让UIWebView弹出键盘上的按钮显示中文
- 伟亚《2014年度企业素质提升管理培训》经典内训课程实战系列
- 【性能优化】 之 RAC架构性能优化
- 向XML插入节点
- 云计算管理工监控具
- openoffice Calc问题
- JSP中用Excel简单实现页面打印
- iOS imageIO完成渐进加载图片
- Python脚本转换成windows的exe可执行程序
- [LeetCode]89.Gray Code
- 清除UIWebView的背景色的方法
- 【NOSQL ]】 redis 安装