We need to handle the Power BI section XML for the Dataverse before update the table systmeform (attribute "formxml") : prepare the dataverse object to be sent to the database.
public static DataverseModel.SystemForm HandleReportXmlForDataverse(BuilderObjects.Report report, ValidatedContext validatedContext) { var groupId = report.GroupIdInPP; var reportId = report.ReportIdInPP; var pbiUrl = report.URLInPP; etc ... var powerBiSectionXml = "<section id=\"" + report.SectionIdInPP + "\" locklevel=\"0\" showlabel=\"" + report.SectionShowLabel.ToString().ToLower() + "\" IsUserDefined=\"0\" name=\"" + str6 + "\" labelwidth=\"115\" columns=\"1\" layout=\"varwidth\" showbar=\"false\"><labels><label description=\"" + text4 + "\" languagecode=\"1033\" /></labels><rows><row>" + string.Format("<cell id=\"{0:B}\" showlabel=\"true\" rowspan=\"{1}\" colspan=\"1\" auto=\"false\">", (object)Guid.NewGuid(), (object)rowspan) + "<labels><label description=\"Power BI Report\" languagecode=\"1033\" /></labels><control id=\"filteredreport\" classid=\"" + classId + "\"><parameters><PowerBIGroupId>" + groupId + "</PowerBIGroupId><PowerBIReportId>" + reportId + "</PowerBIReportId><TileUrl>" + pbiUrl + "/reportEmbed?reportId=" + reportId + "</TileUrl>" + aliaddataverse + "</parameters></control></cell></row></rows></section>"; string _fetchXml = string.Empty; _fetchXml = _fetchXml.Replace(new Regex("<section[^>]+" + report.SectionIdInPP + ".*?<\\/section>").Match(_fetchXml).Value, powerBiSectionXml); return new DataverseModel.SystemForm() { FormId = new Guid(validatedContext.formAccountId), FormXml= _fetchXml }; }