我是 xml 的新手,无法找到在标签之间获取内容的方法。 我的 XML 文件是
<?xml version="1.0" encoding="utf-8"?>
<block1>
<file name="c:\w0.xml">
<word>Text</word>
<number>67</number>
</file>
<file name="c:\w1.xml">
<word>Text</word>
<number>67</number>
</file>
<file name="c:\w2.xml">
<word>Text</word>
<number>67</number>
</file>
</block1>
最佳答案
LINQ to XML 是一个很好的起点。考虑以下代码来解析您的 XML。
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<block1>
<file name=""c:\w0.xml"">
<word>Text</word>
<number>67</number>
</file>
<file name=""c:\w1.xml"">
<word>Text</word>
<number>67</number>
</file>
<file name=""c:\w2.xml"">
<word>Text</word>
<number>67</number>
</file>
</block1>";
XDocument document = XDocument.Parse(xml);
var block = from file in document.Descendants("file")
select new
{
Name = file.Attribute ("name").Value,
Word = file.Element("word").Value,
Number = (int)file.Element("number")
};
foreach (var file in block)
{
Console.WriteLine("{0}\t{1}\t{2}", file.Name, file.Word, file.Number );
}
当然,您可以使用 XDocument.Load 直接从文件加载 XML,而不是使用 Parse 读取 XML 字符串。 XDocument 位于 System.Xml.Linq 命名空间中。坦率地说,我会从这里开始,但是在 System.Xml 命名空间(XmlReader.Create 等)中还有其他选项可以使用 XML。
关于c# - 使用 .NET 读取 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565064/