簡體   English   中英

使用c#解析xml響應

[英]parsing of xml response using c#

我想獲取此xml response.存在的所有<url>的列表xml response.

<?xml version="1.0" encoding="UTF-8"?>
<sessionState xmlns="http://citrix.com/delivery-services/1-0/sessionstate" enumeration="full">
   <sessions>
      <session id="zyxw9876">
         <serverType>win32</serverType>
         <launchIca>
            <url>http://www.example.com/Store/session/v1/zyxw9876/launch/ica</url>
         </launchIca>
         <initialapp>MSPaint</initialapp>
         <initialappresourceaggregated>false</initialappresourceaggregated>
         <initialappresourceid>XA1.MSPaint</initialappresourceid>
         <publishername>Farm1</publishername>
      </session>
      <session id="3e4d5f6g">
         <serverType>win32</serverType>
         <launchIca>
            <url>http://www.example.com/Store/session/v1/3e4d5f6g/launch/ica</url>
         </launchIca>
         <initialapp>Notepad</initialapp>
         <initialappresourceaggregated>false</initialappresourceaggregated>
         <initialappresourceid>XA1.Notepad</initialappresourceid>
         <publishername>Farm1</publishername>
      </session>
   </sessions>
</sessionState>

看看LINQ to XML 有了它,你可以這樣做:

string rawXml = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<sessionState xmlns=""http://citrix.com/delivery-services/1-0/sessionstate"" enumeration=""full"">
<sessions>
    <session id=""zyxw9876"">
        <serverType>win32</serverType>
        <launchIca>
            <url>http://www.example.com/Store/session/v1/zyxw9876/launch/ica</url>
        </launchIca>
        <initialapp>MSPaint</initialapp>
        <initialappresourceaggregated>false</initialappresourceaggregated>
        <initialappresourceid>XA1.MSPaint</initialappresourceid>
        <publishername>Farm1</publishername>
    </session>
    <session id=""3e4d5f6g"">
        <serverType>win32</serverType>
        <launchIca>
            <url>http://www.example.com/Store/session/v1/3e4d5f6g/launch/ica</url>
        </launchIca>
        <initialapp>Notepad</initialapp>
        <initialappresourceaggregated>false</initialappresourceaggregated>
        <initialappresourceid>XA1.Notepad</initialappresourceid>
        <publishername>Farm1</publishername>
    </session>
</sessions>
</sessionState>";

XElement xml = XElement.Load(new StringReader(rawXml));
List<string> urls = xml.Descendants().Elements().Where(x => x.Name.LocalName.Equals("url"))
    .Select(x => x.Value).ToList();

Console.WriteLine(urls.Count);
foreach (string str in urls)
    Console.WriteLine(str);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM