Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WindowsPhone8应用程序中使用C将XML解析为字符串类型数组_C#_Xml_Xaml_Windows Phone 8_Arrays - Fatal编程技术网

C# 在WindowsPhone8应用程序中使用C将XML解析为字符串类型数组

C# 在WindowsPhone8应用程序中使用C将XML解析为字符串类型数组,c#,xml,xaml,windows-phone-8,arrays,C#,Xml,Xaml,Windows Phone 8,Arrays,我有一个XML文件,我喜欢对它进行解析并在字符串类型数组中获取值。我知道有XMLSerialization命名空间和其他东西。但我试图实现的是获取字符串数组中的值。它可以使用Foreach循环或for循环获得 例如,以下是我的XML文件: <?xml version="1.0" encoding="utf-8" ?> <channel> <title>Social Media</title> <item> <title>Fa

我有一个XML文件,我喜欢对它进行解析并在字符串类型数组中获取值。我知道有XMLSerialization命名空间和其他东西。但我试图实现的是获取字符串数组中的值。它可以使用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>
现在,我想将WebsiteName的所有值放入WebsiteName数组,并将网站链接放入URL数组


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

下面是一个使用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();
Parsexml:从字符串创建XDocument。如果希望源是文件而不是字符串,则可以使用XDocument.Loadpath\u来\u xml\u文件。 doc.DegenantStitle:将获取名为title的所有标记,然后 .Selecto=>o.Value:将获取开始标记和结束标记之间的字符串,即值
您可以将内容写入列表框。

使用LINQ并制作投影您能给我一个如何使用投影的代码示例吗?我还不是很熟练。所以我不知道怎么做@techloverrI am解析xml文件而不是字符串。因此,我使用了XDocument.LoadFilePath;但我在这里遇到了一个例外:在System.Xml.ni.dll中第一次出现了类型为“System.Xml.XmlException”的异常。你能告诉我解决办法吗?嗯。。该错误消息不够具体,无法知道实际问题是什么。您是否尝试过调试以获取更详细的错误消息?可能该文件包含无效的xml格式、缺少结束标记或其他内容?我有一个名为SocialMedia.xml的xml文件。当我从那里复制整个代码并按照上面描述的方式在我的C文件中编写代码时,它工作得非常完美。var xml=@socialmedia Facebook.com/Twitter.com/Google+plus.Google.com/;但是我试图直接从XML文件中获取值,例如:我有一个名为Social的文件夹,该文件夹中是SocialMedia.XML。代码都是一样的,所以我要做的就是从那里解析值。例如,我在我的C代码中尝试了:var doc=XDocument.Load/Social/SocialMedia.xml;/*我还尝试了var doc=XDocument.LoadSocial/SocialMedia.xml;*/WebsiteName=doc.genderantstitle.Selecto=>o.Value.ToArray;URL=doc.degenantslink.Selecto=>o.Value.ToArray;但这就是我的例外。对于WP应用程序,您需要将xml文件包含到项目中,您做到了吗?
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();
var doc = XDocument.Parse(xml);
var WebsiteName = doc.Descendants("title").Select(o => o.Value).ToArray();

ListBox.ItemsSource = WebsiteName;