var assets1 = data.SelectNodes("//asset[@id]=" + oldBinaryAssetId);
var assets2 = data.SelectNodes("//Asset[@id]=" + oldBinaryAssetId);
是否可以对上述两个进行1次xpath查询?
答案 0 :(得分:4)
你的XPath是杜松子酒的错误。你可能意味着:
data.SelectNodes("//Asset[@id = '" + oldBinaryAssetId + "']");
要结合两种变体(大写和小写),您可以使用:
data.SelectNodes("//*[(name() = 'Asset' or name() = 'asset') and @id = '" + oldBinaryAssetId + "']");
或
data.SelectNodes("(//Asset | //asset)[@id = '" + oldBinaryAssetId + "']");
如果您有办法避开//
运营商,我建议您这样做。当你这样做时,你的查询会更快,尽管这可能只对大型输入文档很明显。