我可以使用以下块从文件系统加载XML文件。 xml文件是从SQL Server创建的。
var stream = Application.GetResourceStream(new Uri("XmlSource/mydata.xml", UriKind.Relative));
try
{
var dataXml = XElement.Load(stream.Stream);
foreach (var element in dataXml.Elements("Node"))
{
var node = CreateNode(element, null);
node.Children.AddRange(GetSubNodes(element, node));
HierarchicalDataSource.Add(node);
}
我想绕过创建xml文件的步骤,直接从数据库中直接从代码中获取xml。所以,我尝试使用以下代码来获取我的数据:
var dataXml = XElement.Parse(myxml, LoadOptions.PreserveWhitespace);
foreach (var element in dataXml.Elements("Node"))
{
var node = CreateNode(element, null);
node.Children.AddRange(GetSubNodes(element, node));
HierarchicalDataSource.Add(node);
}
我在两个实例中捕获了dataXml的值,粘贴到记事本中并比较了两个文件。它们的内容和结构完全相同。因此,无论数据的直接来源如何,dataXml都是相同的。我的问题是为什么第一个例子工作而第二个例子失败?选项2没有错误,只是我的分层图没有填充,因为它在选项1中。
谢谢!