WP7 - Разбор XML-данных - PullRequest
       3

WP7 - Разбор XML-данных

3 голосов
/ 31 января 2012

Я всегда работал с простыми структурами xml и простыми привязками xaml.Теперь я немного сбит с толку, пытаясь что-то сложное.Я читал этот WP7 Как проанализировать XML? вопрос и ответы на него, но я не мог понять, как отображается часть данных.

У меня есть похожие XML-данные, такие как:

<?xml version="1.0"?>
<top>
    <value name="Finals">
        <country home="sweden" away="italy" venue="aaa"/>
    </value>
    <value name="Semi-finals">
        <country home="Germany" away="sweden" venue="ccc"/>
        <country home="france" away="italy" venue="ddd"/>
    </value>
</top>

И результат, который я хочу увидеть:

Finals
- Sweden - Italy in AAA

Semi-finals
- Germany - France in ccc
- France - Sweden in ddd

Есть ли способ сделать это с помощью привязки Xaml.Если у вас есть ссылки на учебники по WP7, я был бы вам благодарен.

1 Ответ

1 голос
/ 31 января 2012

WPF имеет API привязки XML, а Silverlight для WP7 - нет.Я бы использовал Linq to XML для создания нужной вам строки.

Что-то вроде этого должно работать ...

NL = System.Environment.NewLine;

doc = XDocument.Parse(xml);
StringBuilder output = new StringBuilder();

var rounds = doc.Descendants("value");
foreach(XElement round in rounds)
{
  builder.Append(round.Attribute("value").Value + NL);
  foreach(XElement country in round.Elements())
  {
    builder.Append(country.Attribute("home").Value);
    builder.Append(" - ");
    builder.Append(country.Attribute("away").Value);
    builder.Append(" in ");
    builder.Append(country.Attribute("venue").Value);
    builder.Append(NL);
  }
}

См. Документацию MSDN для Linq to XML для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...