当前位置: 首页 > 知识库问答 >
问题:

读取 xml 文件中 2 个 html 标记之间的文本 [重复]

桂学
2023-03-14

我正在尝试读取 xml 文件中 2 个 html 标签之间的文本。它适用于小内容,但是当内容很大时,它会失败并返回空。在高级别上可能是什么问题

  Regex regex = new Regex("<strong>(.*)</strong>");
      var v = regex.Match("Unneeded text <strong>Needed Text</strong> More unneeded text");
      string s = v.Groups[1].ToString();

共有2个答案

裴翰学
2023-03-14

请尝试以下操作。我怀疑大文本的标签之间有\n。我还添加了.*?,以防数据中有多对标签

Regex regex = new Regex("<strong>(.*?)</strong>", RegexOptions.Singleline);

单行 指定单行模式。更改点 (.) 的含义,使其匹配每个字符(而不是除 \n 之外的每个字符)。正则表达式选项枚举

辛可人
2023-03-14

我尝试了下面的代码,它起作用了。感谢您的时间和建议

        var filePath = @"D:\myfile.xml";
        var fileData = File.ReadAllText(filePath);
        XDocument doc = XDocument.Parse(fileData);

        foreach (XElement hashElement in doc.Descendants("mytagname"))
        {
            string hashValue = (string)hashElement;
        }
 类似资料:
  • 我试图获取提供的html(跨度)之间的数据(在本例中为31) 以下是原始代码(来自chrome中的inspect elements) 我有一个包含页面源代码的富文本框,下面是相同的代码,但是在富文本框的第51行: 我将如何做到这一点?我已经尝试了几种方法,但似乎都不适合我。 我试图从这一页检索点值:http://www.subxcess.com/sub4sub.php根据谁潜艇你的数量变化。

  • 我正在寻找一个正则表达式,它必须在不同类型的HTML标记之间提取文本。 对于前任: <代码> <代码> <代码> 我找到了这个特殊的片段

  • 问题内容: 我有以下格式的文本文件: 我想提取.txt文件中DELIMITER1和DELIMITER2之间的每个s块 这是我当前的无效代码: 有任何想法吗? 问题答案: 您可以使用简化这一个正则表达式中,DOTALL标志。 这也利用了非贪婪运算符,因此将找到多个DELIMITER1-DELIMITER2对的非重叠块。

  • 在像这样的网站上http://wikitravel.org/en/San_Francisco,诸如“Districts”、“Understand”、“Get in”等部分实际上并不包含HTML中的整个部分。节实际上只是标题中的跨类。正因为如此,我们不能简单地通过选择id来获取wiki文档的某些部分。 但是,是否可以收集两个标记之间的所有html?比如说我想要“四处走动”部分。我该如何发出一个选择器

  • 使用正则表达式,我希望能够获取多个DIV标记之间的文本。例如,以下内容: 将输出: 我使用的正则表达式模式仅匹配我的最后一个div标记并错过了第一个。代码: 输出: 找到的匹配项:1 内部DIV:这是另一个测试

  • 我有一个包含数万个XML文件(小文件)的语料库,我正在尝试使用Python并提取其中一个XML标记中包含的文本,例如,body标记之间的所有内容,例如: 然后编写一个包含此字符串的文本文档,然后向下移动XML文件列表。 我正在使用effbot的ELementTree,但找不到正确的命令/语法来做到这一点。我找到了一个使用迷你DOM的dom.getElementsByTagName的网站,但我不确定