XML и C # - помогают извлекать информацию из определенного элемента - PullRequest
1 голос
/ 02 февраля 2010

Так что я не знаю, как точно сказать это, но здесь это идет. Прямо сейчас мое приложение может извлекать информацию о пользователе из XML без проблем. Пример XML:

<statuses type="array">
<status>
  <id>ID1</id>
  <text>Text That I want to pull 1</text>
  <user>
    <name>User1</name>
    <screen_name>User1_Screen</screen_name>
    <location>Location_User1</location>
    <Description>User1_Description</Description>
  </user>
</status>
<status>
  <id>ID2</id>
  <text>Text That I want to pull 2</text>
  <user>
    <name>User2</name>
    <screen_name>User2_Screen</screen_name>
    <location>Location_User2</location>
    <Description>User2_Description</Description>
  </user>
</status>

Какой тэг Screen_name вставляется в список. А вот код, который извлекает информацию, из которой он получает детали пользователя:

    private void listBox1_SelectedValueChanged(object sender, EventArgs e)
    {
        //Load the temp file
        var doc = XDocument.Load("Temp.xml");


        var setting = doc.Descendants("user").First(a => a.Element("screen_name").Value == listBox1.Text);

        //Variables for information from XML
        var Location = setting.Element("location").Value;
        var Description = setting.Element("description").Value;
        var Screen_name = setting.Element("name").Value;

        //Info Pulled from "temp.xml"
        location.Text = "Location: "+Location;
        Username.Text = "Name: " + Screen_name;
        descriptionBox.Text = "Description: "+Description;
    }

и все, что я сейчас хочу, это текстовый тег, и я просто ужасно разбираюсь в этом.

1 Ответ

1 голос
/ 02 февраля 2010

Я запустил твой код без проблем. Вы должны проверить:

  • Правильно ли ваше listBox1.Text значение?
  • Вы пытаетесь добраться до этого Temp.xml по правильному пути?
  • Вы уверены, что ваш Temp.xml правильно сформирован (ему не хватает </statuses>); Попробуйте открыть его в своем IE.

РЕДАКТИРОВАТЬ : Попробуйте это:

var text = setting.Parent.Element("text").Value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...