2

これがサンプルのhtmlページです。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test Page</title>
</head>
<body>
<div id="topContainer">
    <div id="header">
        <span>This is a Test message</span>
        <span id="slogan">A sample slogan <br /> with 2 lines.</span>
    </div>
    <div id="news">
        This is a test news
    </div>
</div>
</body>
</html>

これが私のC#コードです。

    public MainPage()
    {
        InitializeComponent();
        HtmlWeb.LoadAsync("URL", DownLoadCompleted);

    }

    void DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
    {
        if(e.Error == null)
        {
            HtmlDocument doc = e.Document;

            if (doc != null)
            {
                var newsdiv = (from divnode in doc.DocumentNode.Descendants("div")
                               where divnode.Attributes["id"].Value == "header"
                               select divnode).FirstOrDefault();

                var txtT = HttpUtility.HtmlDecode(newsdiv.InnerText);
                txtDisplay.Text = txtT;

            }
        }
    }

headerdivの innerText を取得しようとすると、機能します。しかし、同じコードを使用してtopContainerdiv の内部テキストを取得しようとすると、何も返されません。エラーも出ません。<span>また、要素に対してはまったく機能しません。

その理由は何ですか?

ありがとう

4

1 に答える 1

0

ID を持つ div のみを選択しようとしているようですIDOFTHEDIV。したがって、他の ID を持つ (または ID を持たない) DIV は選択されません。

于 2012-12-05T07:14:15.927 に答える