VB.NET XML Parser - 查找具有特定属性的元素&值

时间:2009-09-24 12:14:20

标签: xml vb.net parsing xhtml

HI,

我正在使用VB.NET来读取XHTML文件。我需要我的程序来查找XML结构中的每个元素,其中“class”属性设置为特定值。

IE:我需要一个包含class =“mytag”的文档中所有元素的数组(或类似列表)。

我需要检测几个值的列表,所有这些值都以相同的单词'mytag'开头,后跟另一个单词 - 所以使用“contains”函数在这里似乎是明智的。

任何有关我可以解析这些属性的方法的建议都将受到赞赏。 欢呼声。

2 个答案:

答案 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