本帖最后由 changetry4 于 2013-02-27 11:29:17 编辑

解决方案 »

  1.   

    检查一下public XmlDocument Doc这个属性返回的值是否修改成功了?
            
      

  2.   

    检查过,Doc属性的值在即时窗口中他的Doc.InnerXML是没有修改成功的。可是为何GetFindNodeText(string NodePath)时候却能得到修改后的值?
      

  3.   

    我还检查了root属性值,同样在即时窗口中他的innerXML也是修改之前的。
      

  4.   


    我认真认真的看了下root,和doc两个属性,发现改是改了,只不过改的不是想要的那个节点,比如//default:Report//default:Width改的竟然是//default:Report//default:PageHeader//default:ReportItems//default:Line//default:Width下的这个width,巧合的是,这个Width竟然是整个xml下(节点不分级别)的第一个这样的节点。所以我想,这个路径值究竟要怎么写?
      

  5.   

    太长了,贴部分,可以用VS创建个rdlc随便拉几条线,拖个表格,和textbox
    <?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="DummyDataSource">
      <rd:DataSourceID>3799ad77-ecc6-4b7e-a181-b16f2bcafb62</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>   <TopMargin>2.5cm</TopMargin> 
      <PageHeight>29.7cm</PageHeight>