3

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....'/>

属性からテキストを取得するにはどうすればよいですか?

4

2 に答える 2

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をロードできます。

于 2012-11-20T06:05:58.537 に答える
0

試す:

var types =
    from e in xDoc.Descendants()
    select (string)e.Attribute("type");

foreach (string type in types) {
    Console.WriteLine(type);
}
于 2012-11-18T23:59:52.400 に答える