如何在/中搜索XML? C#?

时间:2011-04-16 02:46:43

标签: c# xml linq

我用代码

得到了这个错误
var ff = from files in doc.Descendants("blah/Files") select files;

错误是

The '/' character, hexadecimal value 0x2F, cannot be included in a name.

<Files>中有

<File id="f8" name="/usr/include/_G_config.h"/>

现在我无法更改XML,我需要访问其中的所有内容。我如何在C#中做到这一点?

2 个答案:

答案 0 :(得分:7)

Descendants的参数必须是XName(可以从字符串中隐式转换),它表示元素或属性名称。这些不能包含斜杠。根据完整的XML,您可以使用:

doc.Descendants("Files")

或者您可能需要添加代码。

答案 1 :(得分:2)

你正在尝试像XPath一样,但它希望XName和XName不能有“/”

相反,你可以直接做这样的事情:

var ff = from file in doc.Descendants("file") select file;