【发布时间】:2018-03-05 13:54:30
【问题描述】:
我有很大的 xml。 xml 的节点具有属性 id,其值如下:“1_32434”、“2_45656”。使用此代码:
var node = myXml.XPathSelectElement(string.Format("//*[starts-with(@id,\"{0}_\"))", someValue));
我正在尝试查找具有以“someValue_”开头的属性 id 的所有节点,但我收到错误消息,提示存在无效令牌。
【问题讨论】:
-
一个
[打开,没有一个关闭。 -
请注意,这会受到注入:无论
someValue包含双引号,它都会失败。请务必验证您的输入,或将查询编写为代码 (myXml.DescendantsAndSelf().Where(e => (e.Attribute("id")?.Value ?? "").StartsWith(someValue)))。