jolly
jolly

Reputation: 287

richTextbox1 to textbox1?

I have this text in a rich text box named richTextBox:

    <notification_counts>
    <unseen>0</unseen>
  </notification_counts>
  <friend_requests_counts>
    <unread>1</unread>
    <unseen>**0**</unseen>
  </friend_requests_counts>

I would like to extract the value from the unseen tag (0 in this example) and place it in the text box named textbox1. How should I go about doing this?

Full code

<?xml version="1.0" encoding="UTF-8"?>
<notifications_get_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">
  <messages>
    <unread>0</unread>
    <unseen>0</unseen>
    <most_recent>****</most_recent>
  </messages>
  <pokes>
    <unread>0</unread>
    <most_recent>0</most_recent>
  </pokes>
  <shares>
    <unread>0</unread>
    <most_recent>0</most_recent>
  </shares>
  <notification_counts>
    <unseen>0</unseen>
  </notification_counts>
  <friend_requests_counts>
    <unread>1</unread>
    <unseen>0</unseen>
  </friend_requests_counts>
  <friend_requests list="true">
    <uid>***</uid>
  </friend_requests>
  <group_invites list="true"/>
  <event_invites list="true"/>
</notifications_get_response>

Upvotes: 2

Views: 174

Answers (1)

Fr&#233;d&#233;ric Hamidi
Fr&#233;d&#233;ric Hamidi

Reputation: 262919

If your rich text box only contains XML markup, you can parse it to extract the value you're interested in. For instance, using LINQ to XML:

using System.Xml.Linq;

textBox1.Text = XElement.Parse(richTextBox.Text)
                        .Descendant("friend_requests_counts")
                        .Element("unseen").Value;

EDIT: Since your XML markup contains namespaces, you have to take them into account when selecting the elements:

XNamespace fb = "http://api.facebook.com/1.0/";
textBox1.Text = XDocument.Parse(richTextBox.Text).Root
                         .Element(fb + "friend_requests_counts")
                         .Element(fb + "unseen").Value;

Upvotes: 2

Related Questions