HI,
我正在使用VB.NET来读取XHTML文件。我需要我的程序来查找XML结构中的每个元素,其中“class”属性设置为特定值。
IE:我需要一个包含class =“mytag”的文档中所有元素的数组(或类似列表)。
我需要检测几个值的列表,所有这些值都以相同的单词'mytag'开头,后跟另一个单词 - 所以使用“contains”函数在这里似乎是明智的。
任何有关我可以解析这些属性的方法的建议都将受到赞赏。 欢呼声。
答案 0 :(得分:3)
将以下XPath表达式与SelectNodes
对象的XmlDocument
函数一起使用:
//*[@class="mytag"]
此表达式将选择class
属性的值等于"mytag"
的任何XHTML元素。
如果要查找class
属性包含特定字符串的所有元素,XPath函数contains
将帮助您:
//*[contains(@class,"mytag")]
SelectNodes
函数返回从作为参数传递给它的XPath表达式上对应的XmlDocument
的XML节点列表。根据您的描述,它正是您所需要的。
答案 1 :(得分:1)
如果您对LINQ尝试使用XML文字,那么
像这样:
Dim nodes = From currentNode In XmlDoc...<your-node-name>
For Each node As XElement In nodes
Console.Writeline(node.Attribute("attr-name").Value())
Next