我是C#的新手。请帮助我。
data.xml
<?xml version="1.0" standalone="yes"?>
<DataSet1 xmlns="http://tempuri.org/DataSet1.xsd">
<Language>
<Id>001</Id>
<English>"Welcome to India"</English>
<German>"Willkommen in Indien"</German>
</Language>
</DataSet1>
如何使用C#Xml读取Id
的值?我是C#的新手。请帮助我。
我的努力:
XmlDocument doc = new XmlDocument();
XmlReader reader = XmlReader.Create(@"D:\data.xml");
while(reader.Read())
{
reader.MoveToContent();
if (reader.IsStartElement("DataSet1"))
{
reader.ReadToDescendant("Language");
string str2 = reader.Name.ToString();
MessageBox.Show(str2);
}
}
答案 0 :(得分:5)
我强烈建议您使用LINQ to XML,它是一个比XmlDocument
简单得多的API,并且具有出色的名称空间支持。这是一个使用LINQ to XML获取Id
值的示例:
using System;
using System.Xml.Linq;
public class Program
{
public static void Main()
{
XDocument doc = XDocument.Load("test.xml");
XNamespace ns = "http://tempuri.org/DataSet1.xsd";
string id = doc.Root // From the root...
.Element(ns + "Language") // select the Language direct child...
.Element(ns + "Id") // and the Id child of that...
.Value; // and then take the text value
Console.WriteLine(id);
}
}
很明显,如果您的XML不仅具有单个Language
元素,就需要选择正确的元素,依此类推。您应该阅读LINQ to XML documentation以获得更多信息。
答案 1 :(得分:1)
使用XmlDocument,如果您需要进一步的帮助,请发表评论:)
Low
一点点解释:
我非常推荐XmlDocument,因为我真的很喜欢自己使用它,此外它还具有一些非常简洁的功能可供探索。除此之外,通过节点很容易获得或迭代