我是Linq To Xml
的初学者,我想用这种结构创建一个新的Xml文件:
XDocument doc = new XDocument(
new XElement("files",
new XElement("cam",data.CamFile),
new XElement("modele",data.CamFile)
),
new XElement("parametre",
new XElement("scoremin",data.Scoremin),
new XElement("cupidite",data.Cupidite),
new XElement("frameaxes",data.Frameaxes),
new XElement("Npyramid",data.Npyramid))
);
但是出现了此异常This operation would create an incorrectly structured document.
。
答案 0 :(得分:4)
如果您将应用正确的格式,您将看到您正在尝试定义两个根元素:
XDocument doc = new XDocument(
new XElement("files",
new XElement("cam", data.CamFile),
new XElement("modele", data.CamFile)
),
new XElement("parametre",
new XElement("scoremin", data.Scoremin),
new XElement("cupidite", data.Cupidite),
new XElement("frameaxes", data.Frameaxes),
new XElement("Npyramid", data.Npyramid)
));
XML中不允许这样做。 XML文档必须包含一个元素,该元素是所有其他元素的父元素。此元素称为根元素(请参阅XML Syntax)。要parametre
嵌套元素files
:
XDocument doc = new XDocument(
new XElement("files",
new XElement("cam", data.CamFile),
new XElement("modele", data.CamFile),
new XElement("parametre",
new XElement("scoremin", data.Scoremin),
new XElement("cupidite", data.Cupidite),
new XElement("frameaxes", data.Frameaxes),
new XElement("Npyramid", data.Npyramid)
)));
或将两者都包装在其他元素中:
XDocument doc = new XDocument(
new XElement("root",
new XElement("files",
new XElement("cam", data.CamFile),
new XElement("modele", data.CamFile)
),
new XElement("parametre",
new XElement("scoremin", data.Scoremin),
new XElement("cupidite", data.Cupidite),
new XElement("frameaxes", data.Frameaxes),
new XElement("Npyramid", data.Npyramid)
)));