我有大的xml。 xml的节点具有带有valus的属性id,如下所示:“1_32434”,“2_45656”。使用此代码:
var node = myXml.XPathSelectElement(string.Format("//*[starts-with(@id,\"{0}_\"))", someValue));
我试图找到所有具有以“someValue_”开头的属性id的节点,但是我得到一个错误,即存在无效的令牌。
打开和关闭括号之间不匹配,尝试用']'替换最后')'
string.Format("//*[starts-with(@id,\"{0}_\")]", someValue)
我并不为这个xpath感到骄傲。但它应该给你所有节点,无论是否启动id。如果您一次只需要一个id。你应该只为当前的xpath添加一个结束括号。
"//*[number(substring-before(@id,"_"))<10 and number(substring-after(@id,"_"))]"
一些示例XML将非常感激。