2009-08-10 5 views
1

Wie erhalten Sie einen Kommentar von einem XMLElement mit Linq in VB? Zum Beispiel:Linq Kommentar VB

<MyXML> 
    <event type="MyEvent" uid="3"> 
    <start>2009-02-01T12:00:00</start> 
    <stop>2009-02-01T12:00:30</stop> 
    <New>1</New> 
    <x>20</x> 
    <y>60</y> 
    <!--Whatever--> 
    </event> 
    <event type="MyEvent" uid="3"> 
    <start>2009-02-01T11:00:00</start> 
    <stop>2009-02-01T11:00:30</stop> 
    <New>3</New> 
    <x>21</x> 
    <y>67</y> 
    <!--Second Whatever--> 
    </event> 
</MyXML> 

Wenn ich die Ereignisse durchlaufen und die Kommentare abrufen wollte.

Antwort

2

Meinst du XmlElement oder XElement? Mit XElement Sie nur

element.DescendantNodes().OfType(Of XComment)() 

nutzen konnte (ich hoffe, das ist die richtige Syntax für Generika -. In C# wäre es OfType<XComment>() sein)

+0

nicht zu funktionieren scheinen. Mit XML oben und diesen Code Dim doc Als XDocument Dim Element Als XElement Dim Artikel als XComment doc = XDocument.Load ("C: \ Junk \ MyXML.xml") für jedes Element in doc.Root.Elements Für jedes Element In element.Descendants(). OfType (Of XComment)() Debug.Print ("hier") Debug.Print (item.Value.ToString) Weiter Weiter Es erreicht nie hier. Es ist so, als ob die Kommentare nicht geladen würden. – AudioDan

+0

Shoot - Ich habe nicht genug Rep-Leute, um meinen Kommentar zu bearbeiten, und es hat die Code-Formatierung in diesem Kommentar außer Kraft gesetzt. Aber der Vorschlag scheint nicht zu funktionieren, wenn ich etwas verpasse. – AudioDan

+0

Egal - Ihre Antwort ist grundsätzlich richtig. Ich habe Nachkommen und keine Nachkommenknoten verwendet. Dies funktioniert Für jedes Element In element.DescendantNodes(). OfType (Of XComment)() – AudioDan