Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图选择在其属性之一中包含给定字符串的节点,但似乎我只能在某个属性上执行此操作。
var tempUsers = xmlDocument.selectNodes("//Users/*[contains(@Id,'TEXT')]");
我猜我可以写其他东西而不是@Id来检查节点的所有属性,而不仅仅是Id。
谢谢。
您可以@*在 xpath 中使用来选择所有属性,但天真
@*
//Users/*[contains(@*,'TEXT')]
不会做你所期望的。该contains函数期望它的参数是字符串,所以如果你给它一个节点集,它会首先将节点集转换为字符串(通过获取集合中第一个节点的字符串值),然后在函数中使用该值. 相反,你需要说
contains
//Users/*[@*[contains(.,'TEXT')]]
它将查找Users文档中的所有元素,然后选择其所有具有其值包含 substring 的任何属性的子元素TEXT。
Users
TEXT