在C#中从xml读取一个封闭的标签

时间:2014-05-21 08:48:01

标签: c# xml

我已经从xml文件中读取了一些内容,它完全可以正常工作。 但是有一件事情不会奏效。

这是可以正常工作的xml部分

<title>lorum ipsum lorum ipsum</title>

这是我想读的xml部分:

 <enclosure url="http://media.nu.nl/m/m1nxf1eaa6mh_sqr256.jpg" type="image/jpeg" />

我只想要变量中的url。

这是我到目前为止所做的:

switch (node.Name)
                {
                    case "title": label5.Text = (node.InnerText); break;
                    case "enclosure": string picbox2 = (node.InnerText); break;
                        pictureBox2.ImageLocation = picbox2;
                    case "description": label6.Text = (node.InnerText); i++; break;

                }

我希望我提供了足够的信息。

1 个答案:

答案 0 :(得分:2)

在“enclosure”情况下,您在案例的pictureBox2.ImageLocation = picbox2;语句后面有一个赋值语句:break;。我不希望这会编译。

您还需要将元素属性作为element.Attributes["attr_name"].Value访问,而不是使用InnerText属性,该属性将在开始和结束元素标记之间返回文本。

switch (node.Name)
{
    case "title": 
        label5.Text = (node.InnerText); 
        break;
    case "enclosure": 
        string picbox2 = (node.Attributes["url"].Value); 
        pictureBox2.ImageLocation = picbox2;
        break;
    case "description": 
        label6.Text = (node.InnerText); 
        i++; 
        break;

}