日期:2014-05-16  浏览次数:20828 次

求教C#方法能否读取XML文档删除节点同时保留属性值!!!
XML文档示例如下:
<?xml version="1.0" encoding="utf-8"?>
<PARA>
<ROW>
<COL>
<SYS_NO>1<SYS_NO>
</COL>
</ROW>
</PARA>
//////////////////////////////////////////////////////////////////////////////////
(因为对方接收的参数要求格式为<PARA><SYS_NO>1</SYS_NO></PARA>)
我想实现的最终结果是:
<?xml version="1.0" encoding="utf-8"?>
<PARA>
<SYS_NO>1<SYS_NO>
</PARA>
//////////////////////////////////////////////////////////////////////////////////
删除的部分为:
<ROW>
<COL>
</COL>
</ROW>
////////////////////////////////////////////////////////////////////////////////
实现语言为C#
小弟初次接触XML,还请各位不舍赐教!!!
------解决方案--------------------
用XmlDocument,百度一下c#xml读写方法很多的。你的xml应该是<SYS_NO>1</SYS_NO>吧。

            XmlDocument xml = new XmlDocument();
            xml.Load(xmlpath);//加载xml文件,xmlpath为xml文件的路径
            XmlNodeList keys = xml.SelectSingleNode("PARA").ChildNodes;
            XmlElement root = xml.CreateElement("PARA");//创建根节点
            XmlDocument new_xml = new XmlDocument();
            foreach (XmlElement key in keys)//遍历key节点(ROW)
            {
                XmlNodeList nodes = key.ChildNodes;
                foreach (XmlElement node in nodes)//遍历key节点下的子节点(COL)
                {
                    root.AppendChild(node);//SYS_NO
                }
            }
            new_xml.AppendChild(root);
            xml.Save(xmlpath);//覆盖保存回xml