XNamespace xnRD = "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner";
XNamespace xnNS = "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition";
XAttribute xaRD = new XAttribute(XNamespace.Xmlns + "rd", xnRD);
XAttribute xaNS = new XAttribute("xmlns", xnNS);
XElement x =
new XElement("Report", xaRD, xaNS,
new XElement("DataSources"),
new XElement("DataSets"),
new XElement("Body"),
new XElement("Width"),
new XElement("Page"),
new XElement("ReportID", xaRD),
new XElement("ReportUnitType", xaRD)
);
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
doc.Add(x);
Console.WriteLine(doc.ToString());
Приводит к ошибке во время выполнения:
{"The prefix '' cannot be redefined from '' to 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' within the same start element tag."}
То, что я пытаюсь сделать, это просто заставить DataSources и DataSets записывать в Debug.Console для создания ObjectDataSources, так как VS2010 пренебрегал добавлять их для ASPX.
EDIT:
new XElement(xaRD + "ReportID"),
new XElement(xaRD + "ReportUnitType")
Изменено и получено:
Additional information: The ':' character, hexadecimal value 0x3A, cannot be included in a name.
Вместо