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");