C# 获取文件中的数据

C# 获取文件中的数据,c#,xml,C#,Xml,好吧,这是个愚蠢的问题,但我只是从xml开始 <fifth points = '500' answer = 'Ada Lovelace'> This woman, known as the world's first computer programmer was also a Countess. </fifth> 这位女士被称为世界上第一位计算机程序员 他也是一位伯爵夫人。 在Ada Lovelace之后,我如何准确获取数据?我知道第五个是节点,点

好吧,这是个愚蠢的问题,但我只是从xml开始

<fifth points = '500' answer = 'Ada Lovelace'>
    This woman, known as the world's first computer programmer
    was also a Countess.
</fifth>

这位女士被称为世界上第一位计算机程序员
他也是一位伯爵夫人。

在Ada Lovelace之后,我如何准确获取数据?我知道第五个是节点,点和答案是属性。我必须抓取什么才能获得所需的数据?

您可能正在寻找以下内容:

node.InnerText
要了解如何在C#中解析节点XML,请阅读。这篇文章也可能很有帮助,因为它提供了一些用C#解析XML的最简单方法

您可以简单地使用节点名为XmlNode[“FirstName”]索引XmlNode。请参见下面的示例

XmlDocument xml = new XmlDocument();
// suppose that myXmlString contains "<Names>...</Names>":
xml.LoadXml(myXmlString); 

XmlNodeList xnList = xml.SelectNodes("/Names/Name");
foreach (XmlNode xn in xnList)
{
  string firstName = xn["FirstName"].InnerText;
  string lastName = xn["LastName"].InnerText;
  Console.WriteLine("Name: {0} {1}", firstName, lastName);
}
xmldocumentxml=newxmldocument();
//假设myXmlString包含“…”:
LoadXml(myXmlString);
XmlNodeList xnList=xml.SelectNodes(“/Names/Name”);
foreach(xnList中的XmlNode xn)
{
字符串firstName=xn[“firstName”]。InnerText;
字符串lastName=xn[“lastName”].InnerText;
WriteLine(“名称:{0}{1}”,firstName,lastName);
}
输出为:

姓名:约翰·史密斯姓名:詹姆斯·怀特


编辑:值得注意的是,DJ KRAZE和Jeremy Thompson也启发了我的答案。

以下是一些您可以尝试和测试的内容,以帮助您了解如何进入节点。InnerText

var testDoc =
    @"<fifth points = '500' answer = 'Ada Lovelace'>"
       +  "This woman, known as the world's first computer programmer "
       +  "was also a Countess."
       + "</fifth>";
XmlDocument docXML = new XmlDocument();
docXML.LoadXml(testDoc);
var innerxml = docXML.InnerText;
MessageBox.Show(innerxml);
var testDoc=
@""
+这位女士被称为世界上第一位计算机程序员
+“他也是一位伯爵夫人。”
+ "";
XmlDocument docXML=新的XmlDocument();
LoadXml(testDoc);
var innerxml=docXML.InnerText;
Show(innerxml);
您可以使用。如果这是完整的xml,则需要解析:

var xml = "<fifth points='500' answer='Ada Lovelace'>This woman, known as the world's first computer programmer was also a Countess.</fifth>";
XElement element = XElement.Parse(xml);
string text = (string)element; // takes element's innerText

既然您是从XML开始的,也许您也希望阅读这个有用的链接,我发现这也是一个很好的学习资源
XDocument xdoc = XDocument.Load(path_to_xml_file);
string text = xdoc.Descendants("fifth")
                  .Where(e => (string)e.Attribute("answer") == "Ada Lovelace")
                  .Select(e => (string)e)
                  .FirstOrDefault(); // returns first matched element or null