[英]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.Value
且sn
为null,则会出现NullExceptionError
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.