程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> linq查詢xml,linqxml

linq查詢xml,linqxml

編輯:C#入門知識

linq查詢xml,linqxml


1.加載xml字符串

XElement root = XElement.Parse(@"<?xml version='1.0' encoding='utf-8'?>
<Items> 
  <Item> 
    <Id>1</Id>  
    <Name>Name1</Name>  
    <Description>Test1</Description>  
    <Children> 
      <Item> 
        <Id>1.1</Id>  
        <Name>Name1.1</Name>  
        <Description>Test1.1</Description> 
      </Item> 
    </Children> 
  </Item>  
  <Item> 
    <Id>2</Id>  
    <Name>Name2</Name>  
    <Description>Test2</Description> 
  </Item> 
</Items>

    ");

            var elements = root.Elements("Item");//root下的第一層Item(Id為1和2)



XElement firstItem = root.Element("Item").Element("Name"); //第一個Item下的Name(Id為1)


var descendants = root.Element("Item").Descendants("Name");//第一個Item下的所有Name(包括Children下的,Id為1和1.1)


var xElements=root.Descendants("Name");//root下的所有子代的Name(Id為1,1.1,2)

 

2.直接加載文件:

var users = XElement.Load("TemplateUser.config").Elements("user"); 

var user = users.FirstOrDefault(); 

var Account = user.Element("Account").Value.ToString();  

 

 

3.XmlDocument轉換為XDocument

XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlStr);   //xml字符串轉成xml文檔對象
                  

XDocument xdoc =doc.ToXDocument(); //xmldocument轉成xdoccument 擴展方法
var eventId = xdoc.Document.Root.Element("EventID"); //根節點下的eventid節點
if (eventId != null)
    {

          MessageBox.Show(eventId.Value); //15

    }

 

 

 

擴展方法

public static class XmlDocumentExtensions
    {
        public static XDocument ToXDocument(this XmlDocument document)
        {
            return document.ToXDocument(LoadOptions.None);
        }

        public static XDocument ToXDocument(this XmlDocument document, LoadOptions options)
        {
            using (XmlNodeReader reader = new XmlNodeReader(document))
            {
                return XDocument.Load(reader, options);
            }
        }
    }

 

From:http://www.cnblogs.com/xuejianxiyang/p/5377486.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved