/// <summary> /// Applies a member mapping to this method body's implementation, /// 'this' parameter, parameter list and return parameter. /// The result is returned as a new method body. /// </summary> /// <param name="memberMapping">The member mapping to apply.</param> /// <returns>A new method body.</returns> public MethodBody Map(MemberMapping memberMapping) { var newRetParam = ReturnParameter.Map(memberMapping); var newThisParam = ThisParameter.Map(memberMapping); var newParamList = Parameter.MapAll(Parameters, memberMapping); var newImpl = Implementation.Map(memberMapping); return(new MethodBody(newRetParam, newThisParam, newParamList, newImpl)); }
static void OldMain() { bool b = false; // Remove "Unreachable Code" warning if (b) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } // End if (false) string strPath = @"S:\StefanSteiger\COR_Basic\"; //string strReport = "GM_Gebaeudestammdaten.rdl"; string strReport = "GM_Gebaeudestammdaten_ML.rdl"; strReport = "AL_Anlageninventar_ML.rdl"; strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl"; strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl"; strReport = "KU_Kunstinventar_ML.rdl"; string FILE_NAME = System.IO.Path.Combine(strPath, strReport); // AddProc(FILE_NAME); // AddMandant(FILE_NAME); // ReadUsingReportViewer(FILE_NAME); //Select the cd node with the matching title System.Xml.XmlDocument doc = XmlTools.File2XmlDocument(FILE_NAME); string strXML = @" <result> <relatedProducts> <item> <id>123foo</id> <name>foo</name> <text>Foobar</text> </item> <item> <id>hello</id> <name>bye</name> <text>ciao</text> </item> <item> <id></id> <name></name> <text></text> </item> </relatedProducts> </result> "; System.Xml.XmlDocument mydoc = new System.Xml.XmlDocument(); mydoc.LoadXml(strXML); //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[text()"); // Should be: mydoc.SelectNodes("//*/*[text()"); //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(text(), 'foo')]"); System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜÉÈÊÀÁÂÒÓÔÙÚÛÇÅÏÕÑŒ', 'abcdefghijklmnopqrstuvwxyzäöüéèêàáâòóôùúûçåïõñœ'),'foo')]"); // Should be: mydoc.SelectNodes("//*/*[text()"); Console.WriteLine(x.Count); //Select the cd node with the matching title System.Xml.XmlElement root = doc.DocumentElement; System.Xml.XmlNamespaceManager nsmgr = ReportServerTools.GetReportNamespaceManager(doc); //System.Xml.XmlNodeList xxx = oldCd.SelectNodes("xpath"); //System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()=\"String\"]", nsmgr); System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()]", nsmgr); Console.WriteLine(xxx.Count); System.Xml.XmlNode oldCd = root.SelectSingleNode("/dft:Report/dft:DataSources/dft:DataSource[@Name=\"COR_Basic\"]", nsmgr); // System.Xml.XmlNode RepParams = root.SelectSingleNode("/dft:Report/dft:ReportParameters", nsmgr); // System.Xml.XmlNodeList AllParams = RepParams.SelectNodes("//dft:ReportParameter", nsmgr); // http://stackoverflow.com/questions/3655549/xpath-containstext-some-string-doesnt-work-when-used-with-node-with-more //System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter", nsmgr); System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter/dft:Prompt[contains(text(),\"Liegenschaft\")]", nsmgr); Console.WriteLine(AllParams.Count); Console.WriteLine(" ----------------------------------------- "); foreach (System.Xml.XmlNode ThisParameter in AllParams) { // XmlAttribute a = doc.SelectSingleNode("/reply/@success"); Console.WriteLine(ThisParameter.Attributes["Name"].Value); System.Xml.XmlNode ParamDataType = ThisParameter.SelectSingleNode("//dft:DataType", nsmgr); Console.WriteLine(ParamDataType.FirstChild.Value); } // Next ThisParameter System.Xml.XmlNodeList stichtage = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr); System.Xml.XmlNode stichtag = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr); System.Xml.XmlNode stichtagvalue = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]/dft:DefaultValue/dft:Values/dft:Value", nsmgr); Console.WriteLine(stichtagvalue.FirstChild.Value); // /dft:Report/dft:ReportParameters/dft:ReportParameter[@Name="in_gebaeude"] System.Xml.XmlNode datasetname = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_gebaeude\"]/dft:DefaultValue/dft:DataSetReference/dft:DataSetName", nsmgr); string dataset = datasetname.FirstChild.Value; System.Xml.XmlNode dsn = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]", nsmgr); System.Xml.XmlNode dsn3 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query", nsmgr); System.Xml.XmlNode commandtextnode = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:CommandText", nsmgr); string commandText = commandtextnode.FirstChild.Value; Console.WriteLine(commandText); System.Xml.XmlNodeList AllDatasetParams = root.SelectNodes("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr); Console.WriteLine(AllDatasetParams.Count); Console.WriteLine(" ----------------------------------------- "); foreach (System.Xml.XmlNode DataSetParameter in AllDatasetParams) { string strName = DataSetParameter.Attributes["Name"].Value; string lala = DataSetParameter.FirstChild.FirstChild.Value; Console.WriteLine(lala); Console.WriteLine(strName); } // Next DataSetParameter System.Xml.XmlNode dsn5 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters", nsmgr); System.Xml.XmlNode dsn6 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr); System.Xml.XmlNodeList embeddedImages = root.SelectNodes("/dft:Report/dft:EmbeddedImages/dft:EmbeddedImage", nsmgr); System.Xml.XmlNode stao = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_standort\"]", nsmgr); if (stao != null) { Console.WriteLine("Has stao"); } Console.WriteLine(stichtag); // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Value[text()="=Convert.FromBase64String(Parameters!def_logo.Value)"] // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Visibility/dft:Hidden[text()="=CBool(Parameters!def_HideLogo.Value)"] // System.Xml.XmlElement newCd = doc.CreateElement("cd"); // newCd.SetAttribute("country", "country.Text"); // newCd.InnerXml = "<title>" + this.comboBox1.Text + "</title>" + "<artist>" + artist.Text + "</artist>" + "<price>" + price.Text + "</price>"; // root.ReplaceChild(newCd, oldCd); //save the output to a file //doc.Save(FILE_NAME); Console.WriteLine(Environment.NewLine); Console.WriteLine(" --- Press any key to continue --- "); Console.ReadKey(); } // End Sub Main