c语言读取xml文件带命名空间,如何读写拥有命名空间xmlns 属性的Xml文件(C#实现)...

usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Reflection;usingSystem.Text;usingSystem.Xml;usingSystem.Xml.Linq;namespaceReadXml

{classProgram

{static void Main(string[] args)

{

XmlDocument xmlDoc= newXmlDocument();

XmlReaderSettings settings= newXmlReaderSettings();

settings.IgnoreComments= true;

XmlReader reader= XmlReader.Create("./test.xml");

xmlDoc.Load(reader);

reader.Close();

XmlNamespaceManager xmlNamespaceManager= newXmlNamespaceManager(xmlDoc.NameTable);

xmlNamespaceManager.AddNamespace("e", "http://schemas.microsoft.com/winfx/2006/xaml/presentation");

xmlNamespaceManager.AddNamespace("x", "http://schemas.microsoft.com/winfx/2006/xaml");

xmlNamespaceManager.AddNamespace("d", "http://schemas.microsoft.com/expression/blend/2008");//读xml

XmlNodeList nodeList = xmlDoc.SelectNodes("e:project/e:root/e:branch/e:leaf", xmlNamespaceManager);foreach (XmlNode item innodeList)

{

Console.WriteLine(item.OuterXml);

}//增加一条leaf

XmlNode xmlNode = xmlDoc.SelectSingleNode("e:project/e:root/e:branch", xmlNamespaceManager);var ns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";

XmlElement leafElement= xmlDoc.CreateElement("leaf", ns);

leafElement.SetAttribute("Name", "leaf14");

leafElement.SetAttribute("value", "efg");

xmlNode.AppendChild(leafElement);

xmlDoc.Save("./test.xml");

Console.WriteLine("增加一条leaf后:");

XmlNodeList nodeListAdd= xmlDoc.SelectNodes("e:project/e:root/e:branch/e:leaf", xmlNamespaceManager);foreach (XmlNode item innodeListAdd)

{

Console.WriteLine(item.OuterXml);

}//修改一条leaf

XmlNodeList nodeList1 = xmlDoc.SelectNodes("e:project/e:root/e:branch/e:leaf", xmlNamespaceManager);for (int i = (nodeList1.Count - 1); i >= 0; i--)

{

XmlElement xe=(XmlElement)nodeList1[i];if (xe.GetAttribute("Name") == "leaf11")

{

xe.SetAttribute("Value", "aaa");

}

}

xmlDoc.Save("./test.xml");

Console.WriteLine("修改第一条leaf后:");

XmlNodeList nodeListUpdate= xmlDoc.SelectNodes("e:project/e:root/e:branch/e:leaf", xmlNamespaceManager);foreach (XmlNode item innodeListUpdate)

{

Console.WriteLine(item.OuterXml);

}

Console.ReadKey();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值