HtmlAgilityPack 有属性吗?
我想做的是
node.Attributes["class"].Value
但是如果节点没有 class
属性,它就会崩溃。所以,我必须先检查它是否存在,对吗?我该怎么做? Attributes
不是一个字典(它是一个包含内部字典的列表??),并且没有 HasAttribute 方法(只是一个 HasAttributes 指示它是否有任何属性)。我该怎么办?
All I want to do is
node.Attributes["class"].Value
But if the node doesn't have the class
attribute, it crashes. So, I have to check for its existence first, right? How do I do that? Attributes
is not a dict (its a list that contains an internal dict??), and there's no HasAttribute method (just a HasAttributes which indicates if it has any attribute at all). What do I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
更新答案
如果属性丢失,请使用
node.Attributes["class"]?.Value
返回null
。这与下面的ValueOrDefault()
相同。原始答案
试试这个:
或者你可以添加这个
然后使用
我还没有测试过那个,但它应该可以工作。
Updated answer
Use
node.Attributes["class"]?.Value
to returnnull
if the attribute is missing. This will be the same as theValueOrDefault()
below.Original answer
Try this:
Or you might be able to add this
And then use
I havent tested that one, but it should work.
请尝试这个:
Please try this:
此代码可用于获取两个脚本标记之间的所有文本。
This Code Can Be Used to get all text between two script tags.
HTML Agility Pack 能够检查节点是否具有特定类或提供所有类的列表。
HTML Agility Pack has the capability to check if a node has a particular class or provide a list of all classes.