我想在带有Xdocument的Windows应用商店中解析xml。
我试过这个,但是返回null:
XDocument xDoc;
string title= "";
xDoc = XDocument.Load(url);
var elements = from x in xDoc.Descendants()
select new
{
title = x.Descendants("title").First().Value,
};
foreach (var el in elements)
_title = title;
Xml内容:
<title type='text'>tiitle</title>
<content type='text'> gfgdgdggd</content>
<link rel='related' type='application/atom+xml' href='http....'/>
如何从属性中检索文本?
答案 0 :(得分:3)
正如ZevSpitz已经提到的,您的XML无效。我修改了一下以便能够测试我的代码:
<root>
<title type="text">title</title>
<content type="text">gfgdgdggd</content>
</root>
您可以使用以下代码从type
属性中检索值:
XDocument xDoc = XDocument.Parse(xml);
var types =
from x in xDoc.Root.Descendants()
select x.Attribute("type").Value;
在我的情况下,xml
声明如下:
private string xml =
@"<root>
<title type=""text"">title</title>
<content type=""text"">gfgdgdggd</content>
</root>";
如果文件内容相同,您仍然可以使用您的代码从URL加载XML。
答案 1 :(得分:0)
尝试:
var types =
from e in xDoc.Descendants()
select (string)e.Attribute("type");
foreach (string type in types) {
Console.WriteLine(type);
}