richTextbox1 to textbox1? - PullRequest
       4

richTextbox1 to textbox1?

2 голосов
/ 28 августа 2011

У меня есть этот текст в поле расширенного текста с именем richTextBox:

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

Я хотел бы извлечь значение из тега unseen (0 в этом примере) и поместить его втекстовое поле с именем textbox1.Как мне это сделать?

Полный код

<?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>

1 Ответ

2 голосов
/ 28 августа 2011

Если ваше расширенное текстовое поле содержит только разметку XML, вы можете проанализировать ее, чтобы извлечь интересующее вас значение. Например, используя LINQ to XML :

using System.Xml.Linq;

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

РЕДАКТИРОВАТЬ: Поскольку ваша разметка XML содержит пространства имен , вы должны учитывать их при выборе элементов:

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