我一直使用简单的 xml 结构和简单的 xaml 绑定(bind)。现在我在尝试一些复杂的东西时有点困惑。我正在读这个WP7 How to parse the 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 绑定(bind)的东西来做到这一点。如果您有任何关于此的 WP7 教程链接,我将不胜感激。
最佳答案
WPF 有一个 XML 绑定(bind) API,但是 Silverlight for 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 documentation for Linq to XML了解更多详情。
关于c# - WP7 - 解析 XML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072692/