在C#中,我有一个名为inputXmlString
的xml字符串,如下所示:
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dd="clr-namespace:DiagramDesigner;assembly=GUI">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="#FFFAFBE9" Offset="0" />
<GradientStop Color="#FF00FFFF" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Setter.Value>
<TextBox Background="#00FFFFFF" Foreground="#FF000000" HorizontalAlignment="Center" VerticalAlignment="Center">Thread</TextBox>
</Grid>
现在我想获取TextBox
元素的文本。为此我尝试了这种方法:
XElement inputElement = XElement.Parse(inputXmlString);
XElement textbox = inputElement.Element("TextBox");
string result = textbox.Value;
但textbox
元素在此处为null。有什么建议吗?
答案 0 :(得分:3)
您的元素上有一个名称空间,您需要指定它:
XNamespace ns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
XElement textbox = inputElement.Element(ns + "TextBox");