如何阅读XML文件报价中的所有内容

时间:2015-04-20 23:20:18

标签: c# linq-to-xml

我有一些xml,我不知道如何获取引号内的所有内容。我希望获得诸如" First Text"和"第二文"等等。我的目标是将所有这些放入输出文件中。我理解如何加载文档并将其写入文件,但我不确定如何抓住引号内的所有内容,以便我可以将其实际放入文件中。我在c#中使用Linq to XML。感谢您的任何帮助!

    <Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <StackPanel>
            <TextBlock Text="First Text" Margin="5"/>
            <Label Content="Second Text" HorizontalAlignment="Center"/>
            <TextBox Text="Third Text"/>
            <GroupBox Header="Fourth Text">
                Fifth Text
                that extends to another line.
            </GroupBox>
            <Button Content="Sixth Text"/>
            <Frame Content="&lt;Seventh Text&gt;"></Frame>
            <ComboBox>
                Eighth Text</ComboBox>
        </StackPanel>
    </Grid>
</Window>

到目前为止,这是我所拥有的,我知道它不会真正起作用,但我不知道该去哪里或改变什么。我很确定doc.Descendants(&#34; text&#34;)在这里是错的。谢谢

public void readFile(XDocument doc)
    {
        var item = from r in doc.Descendants("text")
                   select new
                   {
                       Text = r.Element("text").Value
                   };
        foreach (var r in item)
            WriteLine(r.Text);
}

我也尝试过这种方法。哪个似乎也没有用。它不是LINQ to XML,而是使用XmlTextReader。我也不确定什么比另一个更好。 Xmltextreader似乎更容易理解语法,但LINQ to xml更快(我相信)。我可能错了。

XmlTextReader reader = new XmlTextReader(responseStream);
        while (reader.Read())
        {
        if (reader.HasAttributes)
        {
            WriteLine(reader.Name + " Attribute");
            for (int i = 0; i < reader.AttributeCount; i++)
            {
                readerXML.MoveToAttribute(i);
                WriteLine("Name: " + reader.Name + ", Value: " + reader.Value);
            }
        }
        reader.MoveToElement();
        }

1 个答案:

答案 0 :(得分:0)

这些文本项称为属性,您可以使用名为get_attributes的类。请发布一些代码,以便我告诉你在哪里插入。