相关疑难解决方法(0)

HTML Agility Pack Null参考

我在使用HTML Agility Pack时遇到了一些麻烦.

当我在不包含特定节点的HTML上使用此方法时,我得到一个空引用异常.它起初工作,但后来停止工作.这只是一个片段,还有大约10个foreach循环选择不同的节点.

我究竟做错了什么?

public string Export(string html)
{
    var doc = new HtmlDocument();
    doc.LoadHtml(html);
    // exception gets thrown on below line
    foreach (var repeater in doc.DocumentNode.SelectNodes("//table[@class='mceRepeater']"))
    {
        if (repeater != null)
        {
            repeater.Name = "editor:repeater";
            repeater.Attributes.RemoveAll();
        }
    }

    var sw = new StringWriter();
    doc.Save(sw);
    sw.Flush();

    return sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)

c# html-agility-pack

12
推荐指数
2
解决办法
1万
查看次数

如何编辑所有特殊html标签的属性(如a)

我正在尝试使用c#编辑所有特殊html标记的属性(如a).例如,我想更改此代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
</head>
<body>
    <a href="http://google.com"></a>
    <a href="http://gmail.com"></a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

对此:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
</head>
<body>
    <a href="http://go.go/default.aspx?url=http://google.com">
    </a><a href="http://go.go/default.aspx?url=http://gmail.com"></a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这意味着我想追加hrefin 的值<a>

我尝试过LinqToXML,但它不起作用,因为HTML不是有效的XML(因为DOCTYPE标记)

这是我的代码:

XDocument xmlFile = XDocument.Load(s);

var query = from c in xmlFile.Elements("html").Elements("body").Elements("a")
            select c;

foreach (XElement book in query)
{
    string atr = book.Attribute("href").Value;
    book.Attribute("href").Value = "http://ahmadalli.somee.com/default.aspx?url=" + atr;
} …
Run Code Online (Sandbox Code Playgroud)

html c# asp.net c#-4.0

2
推荐指数
1
解决办法
1624
查看次数

标签 统计

c# ×2

asp.net ×1

c#-4.0 ×1

html ×1

html-agility-pack ×1