使用 C# 将 XML 解析为 Windows Phone 8 App 中的字符串类型数组



我有一个XML文件,我喜欢解析并获取字符串类型数组中的值。我知道有XML系列化命名空间和其他东西。但我试图实现的是获取字符串数组中的值。可以使用Foreach循环或for循环获得。

例如,这是我的 XML 文件:

<?xml version="1.0" encoding="utf-8" ?>
<channel>
<title>Social Media</title>
<item>
<title>Facebook</title>
<link>http://www.facebook.com/</link>
</item>
<item>
<title>Twitter</title>
<link>http://www.twitter.com/</link>
</item>
<item>
<title>Google+</title>
<link>http://plus.google.com/</link>
</item>
</channel>

现在,我将两个字符串类型数组作为变量放入 C# 文件中。

例如:

public string[] WebsiteName;
public string[] Urls;

现在,我想将 WebsiteName 的所有值放入 WebsiteName 数组中,将网站链接放入 Urls 数组中。

有什么办法吗?如果是,请给我看。这将是非常有帮助的。

下面是

使用 LINQ 获取网站名称和链接的示例:

var xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<channel>
<title>Social Media</title>
<item>
<title>Facebook</title>
<link>http://www.facebook.com/</link>
</item>
<item>
<title>Twitter</title>
<link>http://www.twitter.com/</link>
</item>
<item>
<title>Google+</title>
<link>http://plus.google.com/</link>
</item>
</channel>";
var doc = XDocument.Parse(xml);
WebsiteName = doc.Descendants("title").Select(o => o.Value).ToArray();
Urls = doc.Descendants("link").Select(o => o.Value).ToArray();
  • XDocument.Parse(xml):从字符串创建XDocument。如果您希望源是文件而不是字符串,则可以使用 XDocument.Load("path_to_the_xml_file") .
  • doc.Descendants("title"):将获取所有名为"title"的标签,然后
  • .Select(o => o.Value) :将获取开始和结束标记之间的字符串,即值
var doc = XDocument.Parse(xml);
var WebsiteName = doc.Descendants("title").Select(o => o.Value).ToArray();
ListBox.ItemsSource = WebsiteName;

你会得到写在列表框中的内容。

最新更新