Linq XML 动态构建
我正在构建一个 xml 文件。文件的某些部分是静态的。有些文件是动态的。我的代码有“空对象引用”错误。
任何提示都会很棒。
private XElement BuildDataElement()
{
// this is going to be more complicated
return new XElement("data");
}
public void TestXML(string fname)
{
// build the data element
XElement allData = BuildDataElement();
// Build the header
XDocument doc = new XDocument(
new XElement("map",
new XAttribute("showLabels", "1"),
new XAttribute("includeNameInLabels", "1"),
new XElement("colorRange",
new XElement("color",
new XAttribute("minValue", "1")
)
),
allData,
new XElement("application",
new XElement("apply",
new XAttribute("toObject", "TOOLTIP"),
new XAttribute("styles", "TTipFont,MyDataPlotStyle")
)
)
)
);
if (File.Exists(fname))
File.Delete(fname);
doc.Save(fname);
}
I am building an xml file. Parts of the file are static. Some of the file is dynamic. My code has an error of “Null object reference”.
Any tips would be awesome.
private XElement BuildDataElement()
{
// this is going to be more complicated
return new XElement("data");
}
public void TestXML(string fname)
{
// build the data element
XElement allData = BuildDataElement();
// Build the header
XDocument doc = new XDocument(
new XElement("map",
new XAttribute("showLabels", "1"),
new XAttribute("includeNameInLabels", "1"),
new XElement("colorRange",
new XElement("color",
new XAttribute("minValue", "1")
)
),
allData,
new XElement("application",
new XElement("apply",
new XAttribute("toObject", "TOOLTIP"),
new XAttribute("styles", "TTipFont,MyDataPlotStyle")
)
)
)
);
if (File.Exists(fname))
File.Delete(fname);
doc.Save(fname);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你明白了。以下是我的提示:
You got it. Here are my tips:
在提供的代码片段中,我可以看到出现错误的唯一方法是 2 两个地方。
可能是生成错误,而不是 Xml 文档。
接下来,如果
BuildDataElement();
返回,这可能是问题所在,因为我猜测 XDocument 正在对allData
执行.ToString()
或某些操作代码>The only way in the snippet provided I can see getting an error would be 2 two places.
Could be generating the error, rather than the Xml document.
Next if
BuildDataElement();
returns that might be the problem, since I am guessing the XDocument is doing a.ToString()
or some action onallData