如何用c#从标签xml中提取属性?

时间:2015-05-29 09:33:32

标签: c# xml tags attributes xmlserializer

<channel>
        <title>test + test</title>
        <link>http://testprog.test.net/api/test</link>
        <description>test.com</description>
        <category>test + test</category>

        <item xml:base="http://test.com/test.html?id=25>
            <guid isPermaLink="false">25</guid>
            <link>http://test.com/link.html</link>
            <title>title test</title>
            <description>Description test description test</description>
            <a10:updated>2015-05-26T10:23:53Z</a10:updated>
            <enclosure type="" url="http://test.com/test/test.jpg" width="200" height="200"/>
        </item>
    </channel>

我像这样提取了这个标签(标题测试):

title = ds.Tables["item"].Rows[0]["title"] as string;

如何使用c#从<{1}}标记中提取url属性?

THX

3 个答案:

答案 0 :(得分:0)

第一个选项

您可以创建类来将XML映射和反序列化为对象,并轻松地作为属性进行访问。

第二个选项

如果您只对少数几个值感兴趣并且不想创建地图类,则可以使用XPath,您可以轻松找到许多文章和问题。

要从标记中提取url属性,您可以使用路径:

"/channel/item/enclosure/param[@name='url']/@value"

答案 1 :(得分:0)

有许多文章可以帮助您阅读XML,但简单的答案是将XML加载到XML文档中,然后简单地调用

doc.GetElementsByTagName("enclosure")

这将返回一个带有所有&#39; enclosure&#39;的XmlNodeList。在您的文档中找到的标签。我真的建议你做一些关于使用XML的文章,以确保你的应用程序功能强大。

答案 2 :(得分:0)

你可以使用LinqToXML,这对你更有用......

请参阅代码

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.google.gms:google-services:1.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我希望它能帮到你......