繁体   English   中英

C#循环遍历Xelement

[英]C# looping through Xelement

string webUrlCurrentGame = "";//usually the url 
var readerCurrentGame = JsonReaderWriterFactory.CreateJsonReader(
           Encoding.UTF8.GetBytes(webClient.DownloadString(webUrlCurrentGame)), 
           new System.Xml.XmlDictionaryReaderQuotas());
var currentGameRoot = XElement.Load(readerCurrentGame);
string gameMode = currentGameRoot.XPathSelectElement("//gameMode").Value;
string championId = currentGameRoot.XPathSelectElement("//championId").Value;
string SummonerName = currentGameRoot.XPathSelectElement("//summonerName").Value;

问题是XML中有10个summonerNames如何从所有这些中获取值?

经常使用linq-to-xml,如果有一个选择器的单一版本,也可能有复数版本。

在您的情况下, currentGameRoot.XPathSelectElements("//summonerName")将返回包含所有“summonerName”元素的IEnumerable

更改

string SummonerName = currentGameRoot.XPathSelectElement("//summonerName").Value;

var SummonerNames = currentGameRoot.Descendants("summonerName")
                             .Select(sn => (string)sn)
                             .ToList();

如果使用sn.Valuesn为null,则会出现NullExceptionError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM