xml文档文件为rdlc文件
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <DataSources>
    <DataSource Name="MESDATEConnectionString">
      <rd:DataSourceID>8c23ce1a-60cc-4401-b6e8-5abf69dd5c76</rd:DataSourceID>
      <ConnectionProperties>
        <DataProvider>SQL</DataProvider>
        <ConnectString />
      </ConnectionProperties>
    </DataSource>
  </DataSources>
  <InteractiveHeight>29.7cm</InteractiveHeight>
  <rd:DrawGrid>true</rd:DrawGrid>
  <InteractiveWidth>21cm</InteractiveWidth>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:SnapToGrid>true</rd:SnapToGrid>
  <RightMargin>2.5cm</RightMargin>
  <LeftMargin>2.5cm</LeftMargin>
  <BottomMargin>2.5cm</BottomMargin>
  <rd:ReportID>bad1fda3-7911-4f65-9a69-8a153762288f</rd:ReportID>
  <PageWidth>21cm</PageWidth>
  <DataSets>
    <DataSet Name="reportset1_bijiaojiqiselect">
      <Fields>
        <Field Name="bianhaoid">
          <DataField>bianhaoid</DataField>
          <rd:TypeName>System.Int32</rd:TypeName>
        </Field>
        <Field Name="datatype">
          <DataField>datatype</DataField>
          <rd:TypeName>System.Double</rd:TypeName>
        </Field>
      </Fields>
      <Query>
        <DataSourceName>MESDATEConnectionString</DataSourceName>
        <CommandType>StoredProcedure</CommandType>
        <CommandText>dbo.bijiaojiqiselect</CommandText>
        <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
      </Query>
      <rd:DataSetInfo>
        <rd:DataSetName>reportset1</rd:DataSetName>
        <rd:TableName>bijiaojiqiselect</rd:TableName>
        <rd:TableAdapterName>bijiaojiqiselectTableAdapter</rd:TableAdapterName>
        <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>
        <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>
      </rd:DataSetInfo>
    </DataSet>
  </DataSets>
  <Width>18.5cm</Width>
  <Body>
    <ColumnSpacing>1cm</ColumnSpacing>
    <ReportItems>
      <Textbox Name="x_note">
        <Top>1.5cm</Top>
        <Width>0.75cm</Width>
        <Style>
          <FontFamily>宋体</FontFamily>
          <PaddingLeft>2pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>2pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>
        </Style>
        <ZIndex>1</ZIndex>
        <CanGrow>true</CanGrow>
        <Left>0.5cm</Left>
        <Height>3.75661cm</Height>
        <Value>数据类型 ``</Value>
      </Textbox>      <Chart Name="chart1">
        <Legend>
          <Style>
            <BorderStyle>
              <Default>Solid</Default>
            </BorderStyle>
          </Style>
          <Position>RightCenter</Position>
        </Legend>
        <CategoryAxis>
          <Axis>
            <Title>
              <Caption>机器</Caption>
            </Title>
            <MajorGridLines>
              <Style>
                <BorderStyle>
                  <Default>Solid</Default>
                </BorderStyle>
              </Style>
            </MajorGridLines>
            <MinorGridLines>
              <Style>
                <BorderStyle>
                  <Default>Solid</Default>
                </BorderStyle>
              </Style>
            </MinorGridLines>
            <MajorTickMarks>Outside</MajorTickMarks>
            <Min>0</Min>
            <Visible>true</Visible>
          </Axis>
        </CategoryAxis>
        <DataSetName>reportset1_bijiaojiqiselect</DataSetName>
        <PlotArea>
          <Style>
            <BackgroundColor>LightGrey</BackgroundColor>
            <BorderStyle>
              <Default>Solid</Default>
            </BorderStyle>
          </Style>
        </PlotArea>
        <ThreeDProperties>
          <Rotation>30</Rotation>
          <Inclination>30</Inclination>
          <Shading>Simple</Shading>
          <WallThickness>50</WallThickness>
        </ThreeDProperties>
        <PointWidth>0</PointWidth>
        <Subtype>Plain</Subtype>
        <ValueAxis>
          <Axis>
            <Title />
            <MajorGridLines>
              <ShowGridLines>true</ShowGridLines>
              <Style>
                <BorderStyle>
                  <Default>Solid</Default>
                </BorderStyle>
              </Style>
            </MajorGridLines>
            <MinorGridLines>
              <Style>
                <BorderStyle>
                  <Default>Solid</Default>
                </BorderStyle>
              </Style>
            </MinorGridLines>
            <MajorTickMarks>Outside</MajorTickMarks>
            <Min>0</Min>
            <Margin>true</Margin>
            <Visible>true</Visible>
            <Scalar>true</Scalar>
          </Axis>
        </ValueAxis>
        <Type>Column</Type>
        <Width>14cm</Width>
        <CategoryGroupings>
          <CategoryGrouping>
            <DynamicCategories>
              <Grouping Name="chart1_CategoryGroup1">
                <GroupExpressions>
                  <GroupExpression>=Fields!bianhaoid.Value</GroupExpression>
                </GroupExpressions>
              </Grouping>
              <Label>=Fields!bianhaoid.Value</Label>
            </DynamicCategories>
          </CategoryGrouping>
        </CategoryGroupings>
        <Palette>Default</Palette>
        <ChartData>
          <ChartSeries>
            <DataPoints>
              <DataPoint>
                <DataValues>
                  <DataValue>
                    <Value>=(Sum(Fields!datatype.Value)* 100 \ 1) / 100</Value>
                  </DataValue>
                </DataValues>
                <DataLabel>
                  <Visible>true</Visible>
                </DataLabel>
                <Marker>
                  <Size>6pt</Size>
                </Marker>
              </DataPoint>
            </DataPoints>
          </ChartSeries>
        </ChartData>
        <Style>
          <BackgroundColor>White</BackgroundColor>
          <FontFamily>宋体</FontFamily>
        </Style>
        <Title>
          <Caption>各机器生产数据对比图</Caption>
        </Title>
        <Height>7.61905cm</Height>
        <Left>2cm</Left>
      </Chart>
    </ReportItems>
    <Height>8.25cm</Height>
  </Body>
  <Language>zh-CN</Language>
  <TopMargin>2.5cm</TopMargin>
  <PageHeight>29.7cm</PageHeight>
</Report>
要修改的地方我用空格突出了用下列代码修改
          
            string x_note = DropDownList1.Text;
            string time_ofdate = this.TextBox1.Text + "至" + this.TextBox2.Text;
            string xmlpath = Server.MapPath("bijiaojiqi.rdlc");
            XmlDocument xmldoc = new XmlDocument();
            if (File.Exists(xmlpath))
            {
                xmldoc.Load(xmlpath);
                //下面这句报错:未将对象引用设置到对象的实例
                xmldoc.SelectSingleNode("/Report/Body/ReportItems/Textbox[@Name='x_note']/Value").InnerText = "数据类型 ``" + x_note;
                xmldoc.Save("bijiaojiqi.rdlc");
            }

解决方案 »

  1.   

    以后这种提示,你想都不用想,肯定是某个对象为空,那就挨个检查吧
    SelectSingleNode,这个你先要判断是否找到了要找的节点,因为可能找不到啊,所以就有可能为空啊,而你现在是直接就认为不为空,直接访问下面的内容InnerText ,那报错就不为怪了
      

  2.   

    感谢大神的回答。
    问题是我xml文件里面确实是有这个节点这个属性(因为文档是固定保存的),但是却报这个错误。我现在搞不清的是是我的语法写错了还是怎么回事。
      

  3.   

    XML命名空间的缘故,试试下面的办法:xmldoc.Load(xmlpath);
    XmlNamespaceManager xnm = new XmlNamespaceManager(xmldoc.NameTable);
    xnm.AddNamespace("sqlrpt", "http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition");
    xmldoc.SelectSingleNode("sqlrpt:Report/sqlrpt:Body/......").InnerText = "....";