1

我在我的网页中得到了这段代码:

<div class="goog-inline-block goog-flat-menu-button-caption">
      TestText
</div>

我想知道如何访问此类并TestText使用 C# 更改为其他字符串。

我正在尝试使用HtmlCollection,但没有 InnerText 选项。

编辑:我不能更改上面的代码。

4

3 回答 3

1

假设您正在使用ASP.NET并且您的 div 在至少一个具有 runat="server" 属性的容器内,即 Form

<form id="form1" runat="server">
    <div class="goog-inline-block goog-flat-menu-button-caption">
        TestText
    </div>
</form>

你可以简单地这样做:

var xml = form1.InnerHtml;
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

var nodes = doc.SelectSingleNode("//div[contains(@class,'goog-inline-block goog')]");
foreach(XmlNode node in nodes)
{
   node.InnerText = " changed Text";
}
form1.InnerHtml = xml = doc.InnerXml;

使用Linq to SQLXDocument

XDocument doc = XDocument.Parse(xml);
var nodes = doc.Elements("div")
               .Where(s => s.Attribute("class").Value
                            .Contains("goog-inline-block goog")
                     )
               .ToList();
foreach (XElement elem in nodes)
{
   elem.Value = "changed text";
}
form1.InnerHtml = doc.ToString();
于 2013-05-01T11:38:14.483 回答
0

runat="server"id属性添加到它,以便您拥有:

<div id="mydiv" class="goog-inline-block goog-flat-menu-button-caption" runat="server" >
      TestText
</div>

您可以通过以下方式使用类属性:

mydiv.Attributes["class"] = "classOfYourChoice";

或者

mydiv.InnerText = "您选择的文本";

希望你能理解并帮助到你。。

于 2013-05-01T11:20:44.170 回答
0

在 C# 中,您需要像这样在 div 标签中提供 id 并设置 runat="server"。

<div id="divTest" runat="server" class="goog-inline-block goog-flat-menu-button-caption">
      TestText
</div>

然后在 C# 代码后面

divText.InnerText = "Change Text From Here.";

试试这个,如果不起作用,请详细解释我你的问题。

于 2013-05-01T11:21:08.477 回答