1
我遇到了以下問題。我有一個XML文件是這樣的:XPathSelectElement如何工作? C#
<Source Name ="ClassificationManager">
<Table Name ="PositiveRegex">
<Row>
<Field Name="RegexPattern">^.*$</Field>
<Field Name="Fraction">5.1</Field>
<Field Name="ClassificationTypeNumber">1</Field>
</Row>
<Row>
<Field Name="RegexPattern">^.*$</Field>
<Field Name="Fraction">0.1</Field>
<Field Name="ClassificationTypeNumber">2</Field>
</Row>
</Table>
<Table Name ="NegativeRegex">
<Row>
<Field Name="RegexPattern">^.*$</Field>
<Field Name="ClassificationTypeNumber">1</Field>
</Row>
<Row>
<Field Name="RegexPattern">^.*$</Field>
<Field Name="ClassificationTypeNumber">2</Field>
</Row>
</Table>
</Source>
和C#程序:
XDocument doc = XDocument.Load(@"C:\Repository.xml");
XElement element = doc.XPathSelectElement(@"//Source[@Name='ClassificationManager']/Table[@Name='NegativeRegex']");
foreach (var xmlRow in element.Elements("Row"))
{
Console.WriteLine(xmlRow.XPathSelectElement(@"//Field[@Name='ClassificationTypeNumber']").Value);
}
輸出爲1, 1
但不1, 2
,我希望它是。怎麼了?如何修改C#代碼以獲取我需要的內容?
謝謝你的幫助!
你幾乎是正確的。你只需要在斜線前加一個點。 – StuffHappens 2010-07-06 13:47:04