LINQを使って、いくつかのXMLから4つの要素が得られ、各要素は異なる名前(ブック、雑誌、記事)を持つことができます。LINQ-to-XMLによって処理される要素のタイプを取得するにはどうすればよいですか?
現在処理中の要素の名前を取得するにはどうすればよいですか? のElementType()以下のようなもの:
using System;
using System.Linq;
using System.Xml.Linq;
namespace TestXmlElement2834
{
class Program
{
static void Main(string[] args)
{
XElement content = new XElement("content",
new XElement("book", new XAttribute("id", "1")),
new XElement("article", new XAttribute("id", "2")),
new XElement("book", new XAttribute("id", "3")),
new XElement("magazine", new XAttribute("id", "4"))
);
var contentItems = from contentItem in content.Descendants()
select new ContentItem
{
Id = contentItem.Attribute("id").Value
Type = contentItem.ElementType() //PSEUDO-CODE
};
foreach (var contentItem in contentItems)
{
Console.WriteLine(contentItem.Id);
}
Console.ReadLine();
}
}
class ContentItem
{
public string Id { get; set; }
public string Type { get; set; }
}
}
無修正の場合は、XNode.NodeType! :p – Randolpho
@Randolpho:はい、私はもともとは、 "type"という単語を繰り返し使用しているため、必要とされていたノードタイプだと思っていました。私はそれをさらに編集に含めて、それが見たい人がまだそれを見てもらうようにしました。 Upvoteあなたの答えも同様:) –
それはちょうど "Name.ToString()"です。私はXmlReaderのNodeTypeなどのように "タイプ"の面で考えていた。ありがとう。 –