1

次のような XML ドキュメントがあります。

  <author>someone</author> 
  <category>Severe Disruption - 5 hours</category> 
  <category>Roadworks</category>
  <pubDate>Sun, 23 Sep 2012 05:07:39 BST</pubDate> 

そして、私の既存のコードはこれです:

  _xml = XElement.Parse(e.Result);
                highwaysResults.Items.Clear();
                foreach (XElement value in _xml.Elements("channel").Elements("item"))
                {
                    highwaysFeedItem _item = new highwaysFeedItem();
                    _item.Title = value.Element("title").Value;
                    _item.Description =    Regex.Replace(value.Element("description").Value,
                    @"<(.|\n)*?>", String.Empty);
                    _item.PubDate = value.Element("pubDate").Value;
                    _item.Category = value.Element("category").Value;
                    _item.Category2 = value.Element("category").Value;

                        highwaysResults.Items.Add(_item);

問題は、私のコードは最初の「カテゴリ」値しか読み取らないが、現在使用している XML には 2 つの「カテゴリ」値があることです。

2番目の「カテゴリ」値のみを読み取りたいです。両方を読むことはおまけですが、必須ではありません。

4

2 に答える 2

2

アイテムを使用value.Elements("category")して繰り返すだけです。

于 2012-09-23T17:16:24.543 に答える
1

XPathの使用:using System.Xml.XPath;2番目のカテゴリー要素を選択できます。

_item.Category2 = value.XPathSelectElement("category[2]").Value;
于 2012-09-24T03:55:05.500 に答える