C# 如何解析XAML文件?

C# 如何解析XAML文件?,c#,C#,我有一个xml文件,其中包含xaml文件的路径(contins图像文件信息),现在我需要解析xml文件,将图像显示在xaml中,并以窗口形式显示给用户 在这方面,有人能帮我一下吗?XAML是XML,所以解析为XML并使用这些方法中的任何一种来提取所需的数据。您需要更具体地说明图像文件信息的格式,但是如果它只是作为文件路径存储在XAML中,使用.NET的XMLTextReader应该可以做到这一点。有一些很好的代码示例可以帮助您解决问题。如果您有如下xml文件(或字符串): <ImageDa

我有一个xml文件,其中包含xaml文件的路径(contins图像文件信息),现在我需要解析xml文件,将图像显示在xaml中,并以窗口形式显示给用户


在这方面,有人能帮我一下吗?

XAML是XML,所以解析为XML并使用这些方法中的任何一种来提取所需的数据。

您需要更具体地说明图像文件信息的格式,但是如果它只是作为文件路径存储在XAML中,使用.NET的XMLTextReader应该可以做到这一点。有一些很好的代码示例可以帮助您解决问题。

如果您有如下xml文件(或字符串):

<ImageData>
    <Path>Res\image.xaml</Path>
</ImageData>
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Image x:Key="imageKey" Source="img.jpg"/>
</ResourceDictionary>

当然,这是一个关于如何做的粗略指南,当然您会在一些实验之后调整它,以适合您的模型。

感谢您提供示例代码。。但我的要求是使用.NET2.0。你知道我如何使用Dotnet2.0实现同样的功能吗?好吧,与此相同,你使用与xml相同的工具解析xaml,在搜索时注意区分节点和属性。您可以在这里查看一篇使用框架中较旧的xml工具的示例文章
private string GetImagePath(string xmlString)
{
    XElement xmlData = XElement.Parse(xmlString);

    XElement pathElement = xmlData.XPathSelectElement("ImageData/Path");

    if (pathElement == null) return null;

    string xamlPath = pathElement.Value;

    XElement xamlData = XElement.Load(xamlPath);

    XElement imageElement = xamlData.XPathSelectElement("//Image");

    if (imageElement == null) return null;

    XAttribute pathAttribute = imageElement.Attribute("Source");

    return pathAttribute == null ? null : pathAttribute.Value;
}