Wie erhält man den Namen von System.Xml.Linq.XNode?

8

Jedes XML-Element wie <title /> hat einen Namen - "title". Ich benutze foreach, um Elemente, die von der XNode.Nodes () -Methode bereitgestellt werden, aufzuzählen und jede davon nach dem Tag-Namen zu behandeln.

Ich übergebe XNode nach XElement, um auf die Eigenschaft XElement.Name.LocalName zuzugreifen, um den Tag-Namen zu erhalten, wie "title".

%Vor%

Problem ist aufgetreten, nachdem ich versucht habe, dieses Tag zu analysieren:

%Vor%

Jetzt ist sein Typ XText (: XNode) und ich kann ihn nicht in XElement umwandeln. Ich erhalte eine InvalidCastException. Wie kann ich den "Namen" von XNode erhalten?

    
Croll 03.01.2015, 20:22
quelle

1 Antwort

15

INode hat nicht immer einen Namen. Es ist besser, Elements() anstelle von Nodes() zu verwenden, um untergeordnete Elemente in XElement aufzuzählen, dann haben wir eine IEnumerable<XElement> .

    
Croll 05.01.2015, 23:00
quelle

Tags und Links