C#-如何从xaml resourcedictionary格式的字符串中获取键和值?
我以binaryreader的形式读取xaml文件,并将其作为字符串 以及C#-如何从xaml resourcedictionary格式的字符串中获取键和值?,c#,xml,wpf,xaml,C#,Xml,Wpf,Xaml,我以binaryreader的形式读取xaml文件,并将其作为字符串 以及 Xaml文件是一个xml文件。因此,您可以轻松地使用LinqToXml选择节点和值。Xaml文件是一个xml文件。因此,您可以轻松地使用LinqToXml选择节点和值。我逐行读取文件,并使用正则表达式将其提取出来 StreamReader reader = new StreamReader(file.InputStream); string textLine = reader.ReadLine();
Xaml
文件是一个xml
文件。因此,您可以轻松地使用LinqToXml
选择节点和值。Xaml
文件是一个xml
文件。因此,您可以轻松地使用LinqToXml
选择节点和值。我逐行读取文件,并使用正则表达式将其提取出来
StreamReader reader = new StreamReader(file.InputStream);
string textLine = reader.ReadLine();
string key = GetKeyStringFromXaml(textLine);
string val = GetValStringFromXaml(textLine);
public string GetKeyStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[1].ToString();
}
public string GetValStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[2].ToString();
}
StreamReader=newstreamreader(file.InputStream);
string textLine=reader.ReadLine();
字符串键=GetKeyStringFromXaml(文本行);
字符串val=GetValStringFromXaml(文本行);
公共字符串GetKeyStringFromXaml(字符串文本行){
正则表达式正则表达式=新正则表达式((*);
var v=正则表达式匹配(文本行);
返回v.Groups[1].ToString();
}
公共字符串GetValStringFromXaml(字符串文本行){
正则表达式正则表达式=新正则表达式((*);
var v=正则表达式匹配(文本行);
返回v.Groups[2].ToString();
}
我逐行读取文件,并使用正则表达式提取它
StreamReader reader = new StreamReader(file.InputStream);
string textLine = reader.ReadLine();
string key = GetKeyStringFromXaml(textLine);
string val = GetValStringFromXaml(textLine);
public string GetKeyStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[1].ToString();
}
public string GetValStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[2].ToString();
}
StreamReader=newstreamreader(file.InputStream);
string textLine=reader.ReadLine();
字符串键=GetKeyStringFromXaml(文本行);
字符串val=GetValStringFromXaml(文本行);
公共字符串GetKeyStringFromXaml(字符串文本行){
正则表达式正则表达式=新正则表达式((*);
var v=正则表达式匹配(文本行);
返回v.Groups[1].ToString();
}
公共字符串GetValStringFromXaml(字符串文本行){
正则表达式正则表达式=新正则表达式((*);
var v=正则表达式匹配(文本行);
返回v.Groups[2].ToString();
}
更好地使用。您还没有发布任何示例XAML文件。但假设您确实有一个作为资源字典的XAML文件,您可以使用@Clemens所说的XamlReader
,它将返回已解析的ResourceDictionary
对象,然后您可以使用ResourceDictionary
对象的成员来检索键和值。最好使用。您还没有发布任何示例XAML文件。但假设您确实有一个作为资源字典的XAML文件,您可以使用@Clemens所说的XamlReader
,它将返回已解析的ResourceDictionary
对象,然后您可以使用ResourceDictionary
对象的成员来检索键和值。
StreamReader reader = new StreamReader(file.InputStream);
string textLine = reader.ReadLine();
string key = GetKeyStringFromXaml(textLine);
string val = GetValStringFromXaml(textLine);
public string GetKeyStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[1].ToString();
}
public string GetValStringFromXaml(string textLine) {
Regex regex = new Regex("<System:String x:Key=\"(.*)\">(.*)</System:String>");
var v = regex.Match(textLine);
return v.Groups[2].ToString();
}