日期:2014-05-18 浏览次数:20975 次
XmlDocument xmlOld = new XmlDocument();
xmlOld.Load(@"C:\XMLFile1.xml");
XmlDocument xmlNew = new XmlDocument();
xmlNew.LoadXml(xmlOld["result"]["body"]["tasks"].InnerXml);
MessageBox.Show(xmlNew.InnerXml);
------解决方案--------------------
xmldocument和xpath查询就可以了
------解决方案--------------------
一个很笨的方法:
1.加载XmlDocument,并导航到Tasks节点
2.定位到XmlDocument对象的根节点,把1中得到节点对象添加进来。
3.删除Doc根节点中除2新添加的节点以外的所有子节点。
4.保存XmlDocument对象到一个文件中。
------解决方案--------------------
1.首先,先把tasks节点查出来
XmlNode node=XmlDoc.SelectSingleNode("//tasks");
2.把节点及其子节点保存到XMLWRITER中,在生成新的XML时,把此WRITER放入合适的位置即可。
XmlTextWriter writer = new XmlTextWriter(Console.Out);
writer.Formatting = Formatting.Indented;
node.WriteContentTo(writer);
------解决方案--------------------
#region XMLDocument方法
/// <summary>
/// 给定一个节点的xPath表达式并返回一个节点
/// </summary>
/// <param name="node"></param>
/// <returns></returns>
public XmlNode FindNode(string xPath)
{
XmlNode xmlNode = this.SelectSingleNode(xPath);
return xmlNode;
}
/// <summary>
/// 给定一个节点的xPath表达式返回其值
/// </summary>
/// <param name="xPath"></param>
/// <returns></returns>
public string GetNodeValue(string xPath)
{
XmlNode xmlNode = this.SelectSingleNode(xPath);
return xmlNode.InnerText;
}
public void SetNodeValue(string xPath, string NewValue)
{
XmlNode xmlNode = this.SelectSingleNode(xPath);
xmlNode.InnerT