linqtoxml读写xml
生活随笔
收集整理的這篇文章主要介紹了
linqtoxml读写xml
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?1.對XAttribute使用命名空間
XElement root = new XElement("ESBInput",new XAttribute(XNamespace.Xmlns + "iib", "http://www.oppein.com/ESBService"));生成的xml為:
<ESBInput xmlns:iib="http://www.adventure-works.com"></ESBInput>注意其中的?:iib iib即為XAttribute的命名空間
xmlns:iib
2.XElement使用命名空間
XNamespace aw = "http://www.adventure-works.com"; XElement root = new XElement(aw + "Root", "Content");生成的xml為:
<Root xmlns="http://www.adventure-works.com">Content</Root>?
3.讀xml
參考http://www.cnblogs.com/bianlan/archive/2013/04/29/3050530.html
xml結構:
<?xml version="1.0" encoding="utf-8" ?> <foo><bar>Test 1</bar><baz><bar>Test 2</bar></baz><bar>Test 3</bar> </foo>?查詢代碼:
XDocument doc = XDocument.Load("input.xml"); XElement root = doc.Root;foreach (XElement e in root.Elements("bar")) {Console.WriteLine("Elements : " + e.Value); }foreach (XElement e in root.Descendants("bar")) {Console.WriteLine("Descendants : " + e.Value); }結果:
Elements : Test 1 Elements : Test 3 Descendants : Test 1 Descendants : Test 2 Descendants : Test 3由上可知,Elements不能查詢包含在其子節(jié)點中的<bar>節(jié)點的元素,它是查詢root直接所屬的一級chirden元素,而Descendants是查詢root節(jié)點下的所有的<bar>節(jié)點元素。
另外,Elements寫法繁瑣,需要從根節(jié)點元素一直往下開始寫:如root.Elements("baz").Elements("bar"),而Descendants則不需要,直接root.Descendants("name")就可以了
轉載于:https://www.cnblogs.com/rdscfh/p/7760628.html
總結
以上是生活随笔為你收集整理的linqtoxml读写xml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20155220吴思其 实验2 W
- 下一篇: [Objective-C]编程艺术 笔记