次のブロックを使用して、ファイル システムから 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 番目の例が失敗するのはなぜですか? オプション 2 からのエラーはありませんが、オプション 1 のように階層ダイアグラムが取り込まれていないだけです。
ありがとう!