首页 > 解决方案 > HTML Agility Pack 只为自己的元素获取 InnerText

问题描述

标题已经说过:我只想要当前 XmlNode 的“值”。并非所有子元素的所有 InnerText 也是如此。

<Bla>
asdf
    <blub>
    123
    </blub>
</Bla>

在上面的示例中,元素“Bla”的“InnerText”也将返回“123”,即使它嵌套在“blub”元素中。

我已经找到了一些使用“//text()”的帖子,但对我来说,这也返回了子项目的所有“文本”元素......

使用“text()”搜索时返回的列表的第一项也无济于事,因为我想要的文本并不总是在第一个位置,因为可能还有一些“\r\n”元素。是的,我知道,这很容易删除,但也许有人可以指出我更直接的解决方案?!

标签: htmldomhtml-agility-pack

解决方案


一种 hack,但一种可能性是获取“Bla”元素的 InnerText,然后获取“blub”元素的 InnerText,然后使用... InnerTextOfblub.tostring 从“Bla”中删除“blub”。 TrimEnd(InnerTextOfBla) ...或类似的东西。

我还假设您不能更改原始标签?...这样“asdf”就会出现在...这样的标签中

<bla>
    <newTag>asdf</newTag>
    <blub>123</blub>
</Bla>

推荐阅读