求助关于xml SelectSingleNode取值的问题
xml文件
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
<DataSources>
<DataSource Name="ds">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>4601aaa3-4033-415b-b89f-d06d9bb1c2a4</rd:DataSourceID>
</DataSource>
</DataSources>
<Body>
<ReportItems>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>M型及二维</Value>
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.03175cm</Top>
<Left>0.03306cm</Left>
<Height>0.6cm</Height>
<Width>10.22459cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>主
动
脉</Value>
<Style>
<FontFamily>宋体</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.63175cm</Top>
<Left>0.03306cm</Left>
<Height>1.8cm</Height>
<Width>0.96542cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>4.08251in</Height>
<Style />
</Body>
<Width>8.10512in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
<rd:ReportID>a811afcc-eafd-4665-86e4-00f39a37878a</rd:ReportID>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
</Report>
代码
XmlNamespaceManager xnm = new XmlNamespaceManager(xml.NameTable); xnm.AddNamespace("rd", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"); xnm.AddNamespace("default", "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition"); xnm.PushScope(); XmlNodeList xnl = xml.SelectNodes( "//default:Report//default:Body//default:ReportItems//default:Textbox", xnm); Textbox[] tb = new Textbox[xnl.Count]; for (int i = 0; i < tb.Length; i++) { XmlNode x = xnl[i].SelectSingleNode("//default:Paragraphs//default:Paragraph//default:TextRuns//default:Value", xnm); Console.WriteLine(xnl[i].InnerText+x.InnerXml); }