如何解析xml字符串元素?

时间:2014-07-22 08:44:14

标签: c# xml

在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。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您的元素上有一个名称空间,您需要指定它:

XNamespace ns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
XElement textbox = inputElement.Element(ns + "TextBox");