使用字符串函数,如何在C#中从html属性中获取值?

使用字符串函数,如何在C#中从html属性中获取值?,c#,asp.net,html,C#,Asp.net,Html,我有这样的html代码: <div class="topright"> <a href="" TARGET="_parent" title="News Letter" > <img border="none" src="/images/newsletter-button.gif' alt="News Letter" /> </a> </div> findvalue函数是一个简单的字符串操作函数,工作原理

我有这样的html代码:

<div class="topright">
    <a href="" TARGET="_parent" title="News Letter" >
       <img border="none" src="/images/newsletter-button.gif' alt="News Letter" />
     </a>
</div>
findvalue
函数是一个简单的字符串操作函数,工作原理如下 对于此行

find函数将重新运行News Letter value,类似地,我将获得其他属性的值,如href、src atc

您可以使用与XML模式相关的类进行相同的操作

using System;
using System.IO;
using System.Xml;

public class Sample
{

    public static void Main()
    {

        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<input title='Meluha' Value='1-861001-75-7'>" +
                    "<title>The Imortals of Meluha</title>" +
                    "</input>");

        XmlNode root = doc.DocumentElement;

        XmlNode value = doc.SelectNodes("//input/@value")[0];

        Console.WriteLine("Inner text: " + value.InnerText);

    XmlNode value = doc.SelectNodes("//title/@value")[0];

    Console.WriteLine("Title text: " + value.InnerText);
     } 
}
使用系统;
使用System.IO;
使用System.Xml;
公共类样本
{
公共静态void Main()
{
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“”)+
“Meluha的伊莫塔尔酒店”+
"");
XmlNode root=doc.DocumentElement;
XmlNode value=doc.SelectNodes(“//input/@value”)[0];
Console.WriteLine(“内部文本:“+value.InnerText”);
XmlNode value=doc.SelectNodes(“//title/@value”)[0];
Console.WriteLine(“标题文本:”+value.InnerText);
} 
}

您可以使用与XML架构相关的类来实现相同的功能

using System;
using System.IO;
using System.Xml;

public class Sample
{

    public static void Main()
    {

        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<input title='Meluha' Value='1-861001-75-7'>" +
                    "<title>The Imortals of Meluha</title>" +
                    "</input>");

        XmlNode root = doc.DocumentElement;

        XmlNode value = doc.SelectNodes("//input/@value")[0];

        Console.WriteLine("Inner text: " + value.InnerText);

    XmlNode value = doc.SelectNodes("//title/@value")[0];

    Console.WriteLine("Title text: " + value.InnerText);
     } 
}
使用系统;
使用System.IO;
使用System.Xml;
公共类样本
{
公共静态void Main()
{
XmlDocument doc=新的XmlDocument();
doc.LoadXml(“”)+
“Meluha的伊莫塔尔酒店”+
"");
XmlNode root=doc.DocumentElement;
XmlNode value=doc.SelectNodes(“//input/@value”)[0];
Console.WriteLine(“内部文本:“+value.InnerText”);
XmlNode value=doc.SelectNodes(“//title/@value”)[0];
Console.WriteLine(“标题文本:”+value.InnerText);
} 
}

更好的方法是尝试使用HtmlAgilityPack而不浪费时间和精力,谢谢大家…

更好的方法是尝试使用HtmlAgilityPack而不浪费时间和精力,谢谢大家…

如果你想解析HTML,最好的办法是使用一个库,比如请说明你这样做的原因(教育、作业、使用的代码)。根据不同的原因,答案会有所不同。请注意,Htmlagibility pack是此问题的传统答案…对于单个页面上的一个场景,我应该使用此库还是自定义函数?对于我的项目,但对于单个页面上的一个场景。您很可能希望使用现有库-看起来您对此不感兴趣如果你想解析HTML,最好的办法就是使用一个库,比如请说明你这样做的原因(教育、作业、要使用的代码)。根据不同的原因,答案会有所不同。请注意,Htmlagibility pack是此问题的传统答案…对于单个页面上的一个场景,我应该使用此库还是自定义函数?对于我的项目,但对于单个页面上的一个场景。您很可能希望使用现有库-看起来您对此不感兴趣自己学习解析标记的所有复杂过程。但是HTML不完全是XML。它对自动关闭的HTML标记有效吗?但是HTML不完全是XML。它对自动关闭的HTML标记有效吗?