【问题标题】:Comparing two HTML strings比较两个 HTML 字符串
【发布时间】:2020-09-05 14:27:31
【问题描述】:

我有一个使用 TinyMce 的网站。 TinyMce 的getcontent() 函数将 TinyMce 的内容作为字符串返回,例如:

<p>Test<img src="../../../files/a54f58ca-56e1-4e6a-acf5-1cccebe51dc1/FY17/img/21c17e0e-b433-42de-97c7-cf0194fc7ac4" /></p>

如果我尝试从 DOM 中获取内容,我也会得到以下 HTML 作为字符串:

<p>Test<img src="/files/a54f58ca-56e1-4e6a-acf5-1cccebe51dc1/FY17/img/21c17e0e-b433-42de-97c7-cf0194fc7ac4"></p>

它们都是相同的 HTML,只是它们的输入方式略有不同。我想比较两个字符串并想确保两者在 HTML 方面是相等的,我将如何在 C# 中完成此操作?

我一直在考虑也许使用正则表达式来匹配这个,但我不确定这是否是正确的方法。

【问题讨论】:

  • 请更清楚地说明您的问题。您想比较 img src 属性中的 url 还是什么? “就 HTML 而言相等”是什么意思?
  • 是的,很难确切知道他们想要比较什么。两者有不同的 HTML,第二个有一个未闭合的图像标签。

标签: c# .net selenium .net-core


【解决方案1】:

在 C# 中,字符串有一个方法 Equals(),您可以使用它来比较您的字符串。

   string a = "<p>Test<img src=\".. / .. / .. / files / a54f58ca - 56e1 - 4e6a - acf5 - 1cccebe51dc1 / FY17 / img / 21c17e0e - b433 - 42de - 97c7 - cf0194fc7ac4\" /></p>";
   string b = "<p>Test<img src=\"/files/a54f58ca-56e1-4e6a-acf5-1cccebe51dc1/FY17/img/21c17e0e-b433-42de-97c7-cf0194fc7ac4\"></p>";
   Console.WriteLine(b.Equals(a));

注意,您可能需要稍微修改一下字符串。例如,HTML " 已被替换为 \" 以便它们在 C# 字符串中工作。

另外,不确定这是否是您要查找的内容。问题有点模糊。

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    相关资源
    最近更新 更多