2016-12-01 2 views
0

Ich versuche, einen bestimmten Wert aus dieser Zeichenfolge zu lesen, die eine XML ist, aber ich weiß nicht, wie es richtig zu lesen ....Wie als String spezifischen Wert von XML lesen

ich die GetResponseStream bin Umwandlung in einen String:

Dim reader As New StreamReader(httpWebRequest.GetResponse.GetResponseStream()) 

Dim streamText As String = reader.ReadToEnd() 

Hier ist die Zeichenfolge ich zu analysieren versuche, versuche ich, den Wert von <size>25600</size> ich für andere Werte der Zeichenfolge (XML) kümmern sich nicht zu bekommen.

<?xml version="1.0" encoding="utf-8"?> 
<rsMailboxList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:xml:rsMailboxList"> 
    <offset>0</offset> 
    <size>50</size> 
    <total>165</total> 
    <rsMailboxes> 
    <rsMailbox> 
     <name>abaez</name> 
     <displayName>Arturo Baez Jr.</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>adominguez</name> 
     <displayName>Alexander dominguez</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>aeam</name> 
     <displayName>Anna Eam</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>ahaqq</name> 
     <displayName>Akbar Haqq</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>alans</name> 
     <displayName>Ben Sigwart</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>aleblanc</name> 
     <displayName>Andrew Leblanc</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>alert</name> 
     <displayName>alert .</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>amahller</name> 
     <displayName>Alon Mahller</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>amazoncustomerservice</name> 
     <displayName>Amazon Customer Service</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>amazonsales</name> 
     <displayName>Amazon Sales</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>amclaughlin</name> 
     <displayName>Aaron Mclaughlin</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>apacheco</name> 
     <displayName>Anthony Pacheco</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>ardept</name> 
     <displayName>Accounts Receivable</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>atanega</name> 
     <displayName>Alfred Tanega</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>atomlinson</name> 
     <displayName>Adam Tomlinson</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>avalencia</name> 
     <displayName>Alene Valencia</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>avasquez</name> 
     <displayName>Adolfo Vasquez</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bgoegebuer</name> 
     <displayName>Brent Goegebuer</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bjoelson</name> 
     <displayName>Bryan Joelson</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bookorders</name> 
     <displayName>TAP Catalogs</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bpringle</name> 
     <displayName>Brian Pringle</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>briand</name> 
     <displayName>Brian Dozois</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bsummers</name> 
     <displayName>Brent Summers</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>bwilliams</name> 
     <displayName>Brian Williams</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>c24shipping</name> 
     <displayName>4wheelparts Calgary</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>carlc</name> 
     <displayName>Chris Carlson</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cbennett</name> 
     <displayName>Clyde Bennett</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cburrell</name> 
     <displayName>Christie Burrell</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>chargebacks</name> 
     <displayName>Chargebacks Customer Service</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>circulation</name> 
     <displayName>Circulation</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>ckenworthy</name> 
     <displayName>Chris Kenworthy</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cognos</name> 
     <displayName>cognos cognos</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cognosadmin</name> 
     <displayName>Cognos Admin</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>colmstead</name> 
     <displayName>Clayton Olmstead</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>comptonups</name> 
     <displayName>Compton UPS</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cop</name> 
     <displayName>Coppel Store #24</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>crivas</name> 
     <displayName>Carlos Rivas</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cs1</name> 
     <displayName>Customer Service1 Customer Service1</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cs2</name> 
     <displayName>Customer Service2 Customer Service2</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cs4</name> 
     <displayName>KAREN LUEDTKE</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>customerservice</name> 
     <displayName>4wheelparts Customer Service</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>cwhite</name> 
     <displayName>Cody White</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>davidt</name> 
     <displayName>David Trigo</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>dc8returns</name> 
     <displayName>dc8 returns dc8 returns</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>dc8shipping</name> 
     <displayName>DC8 Shipping</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>denverreturns</name> 
     <displayName>Denver Returns</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>denvershipping</name> 
     <displayName>Shipping DC 9</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>dleguizamon</name> 
     <displayName>Dan Leguizamon</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>dmurphy</name> 
     <displayName>Dustin Murphy</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    <rsMailbox> 
     <name>drochon</name> 
     <displayName>Devin Rochon</displayName> 
     <size>25600</size> 
    </rsMailbox> 
    </rsMailboxes> 
</rsMailboxList> 

Wie würde ich das tun? Ich habe viel online nach der Antwort gesucht. Ich möchte nicht lesen <size>50</size> Ich möchte den Wert von: <size>25600</size> in eine Zeichenfolge.

Antwort

0

Use LINQ to Xml und XML Axis Properties

Using stream As Stream = httpWebRequest.GetResponse.GetResponseStream() 
    Dim doc As XDocument = XDocument.Load(stream) 
    Dim allSizes = doc.Root. 
         <rsMailboxes>.First(). 
         <rsMailbox>. 
         Select(Function(mail) mail.<size>.Value) 

    For Each size As string in allSizes 
     ' Use size value 
    Next 
End Using 

Klassische Art und Weise ohne Achse Eigenschaften

Dim allSizes = doc.Root. 
        Element("rsMailboxes"). 
        Elements("rsMailbox"). 
        Select(Function(mail) mail.Element("size").Value) 
+0

ich eine Menge Fehler immer mit diesem Code. Ist es im richtigen Format? Trotzdem danke. –

+0

Ich habe die Antwort aktualisiert – Fabio

+0

Sie müssen wahrscheinlich auch den Namensraum "urn: xml: rsMailboxList" importieren (https://msdn.microsoft.com/en-us/library/bb384589.aspx)? – Mark