2015-01-03 2 views
8

<title />のような各XML要素には、「title」という名前があります。 私はXNode.Nodes()メソッドが提供するアイテムを列挙するためにforeachを使い、それぞれをタグ名で扱います。System.Xml.Linq.XNodeの名前を取得する方法?

XNodeをXElementにキャストし、XElement.Name.LocalNameにアクセスして、 "title"のようなタグ名を取得するプロパティ。

foreach(XElement as_element in doc.Nodes()) 

私はこのタグを解析しようとした後に問題が登場しました:(:XNode)

<title>"Some text"</title> 

は今、その種類はXTEXTある、と私はのXElementにキャストすることはできません。私はInvalidCastExceptionを取得します。 XNodeの「名前」を取得するにはどうすればよいですか?

+1

名前の意味は? "Some text"の名前は何でしょうか?それは要素ではないので、名前はありません。 –

+0

タグの名前)要素、ノード)は "title"です。私のコードでそれが必要ですが、XNodeにはXName型のプロパティはありません。 – Croll

+0

「Some Text」から「title」を取得する必要があるということですか? –

答えて

15

INodeには必ずしも名前がありません。 Nodes()の代わりにElements()を使用して、XElement内の子要素を列挙し、次にIEnumerable<XElement>を持つ方が良いです。

関連する問題