首页 > 技术文章 > 修改XML节点名称

514687800 2013-06-20 14:50 原文

1.用程序批量修改元数据的结点名称,且该结点类型是XMLElement的元素类型。现想把XML的根结点"DLG2000二级元数据_非修测"改为"DLG2000二级元数据"

1   <?xml version="1.0" encoding="gb2312" ?> 
2 - <DLG2000二级元数据_非修测>
3   <产品编号>2000-DLG-2012-001</产品编号> 
4   <图号>A01</图号> 
5   </DLG2000二级元数据_非修测>
1   <?xml version="1.0" encoding="gb2312" ?> 
2 - <DLG2000二级元数据>
3   <产品编号>2000-DLG-2012-001</产品编号> 
4   <图号>A01</图号> 
5   </DLG2000二级元数据>

2.思路如下。先使用XmlDocument读取xml文件。然后在修改的结点处如“DLG2000二级元数据_非修测”用结点的父节点插入CreateElement相同级别的结点如DLG2000二级元数据。然后将旧结点的InnerXml赋值给新结点。然后用修改的结点的父节点调用ReplaceChild将新结点newElement替换旧结点rootElement,然后保存即可。具体代码如下。

1             XmlDocument pXmlDocument = new XmlDocument();
2             pXmlDocument.Load(@"D:\A01.xml");
3             XmlElement rootElement = pXmlDocument.DocumentElement;
4             XmlElement newElement = pXmlDocument.CreateElement("DLG2000二级元数据");
5             newElement.InnerXml = rootElement.InnerXml;
6             pXmlDocument.ReplaceChild(newElement, rootElement);
7             pXmlDocument.Save(@"D:\A01.xml");

 

推荐阅读