2017-06-01 2 views
0

Zunächst einmal, tut mir leid, wenn diese Frage bereits beantwortet wird, aber ich habe es nicht gefunden.So lesen Sie XML-Dokument in C#

Ich habe eine XML-Datei, die wie folgt aussieht:

<data success="1" status="200"> 
    <id>SbBGk</id> 
    <title/> 
    <description/> 
    <datetime>1341533193</datetime> 
    <type>image/jpeg</type> 
    <animated>false</animated> 
    <width>2559</width> 
    <height>1439</height> 
    <size>521916</size> 
    <views>1</views> 
    <bandwidth>521916</bandwidth> 
    <deletehash>eYZd3NNJHsbreD1</deletehash> 
    <section/> 
    <link>http://i.imgur.com/SbBGk.jpg</link> 
</data> 

Ich möchte die id als String erhalten. Irgendwelche Ideen?

Hinweis: Die XML-Datei ist eine Web-Antwort, dass ich mit abrufen:

XmlDocument doc = new XmlDocument(); 
byte[] response = w.UploadValues("https://api.imgur.com/3/upload.xml", values); 
string xml = Encoding.UTF8.GetString(response); 
doc.LoadXml(xml); 
+0

Blick in Xpath siehe: https://msdn.microsoft.com/en-us/library/d271ytdx(v=vs.110).aspx & https://msdn.microsoft.com/en- us/library/ms256086 (v = vs.110) .aspx –

+2

Ditch 'XmlDocument'. Es ist alt und wurde von 'XDocument' abgelöst. Sobald Sie ein gültiges 'XDocument' haben, wird' var id = (string) doc.Root.Element ("id"); – spender

+0

Verwenden Sie ['XDocument.Load()'] (https://msdn.microsoft.com/en-us/library/cc838321 (v = vs.110) .aspx). –

Antwort

0

Statt XMLDocument der Verwendung von XDocument verwenden.

XDocument doc = new XDocument(); 
doc.Load(xml); 
string id = doc.Root.Element("id").Value;