繁体   English   中英

在C#中读取XML文件

[英]Reading XML file in C#

一部分xml文件:

 <publisher>
    <name>ABC</name>
    <id>943</id>
 </publisher>

C#:

string publisher = n.SelectSingleNode(".//publisher").InnerText;
        Console.WriteLine(publisher + "\n");

c#程序从xml文件中读取文本。 我遇到的问题是publisher者的字符串值为ABC943 有没有办法只返回字符串值ABC

好的,谢谢你的回答。 我有另一个问题!!! 让我们说:

 <publisher>
    <name>ABC</name>
    <id>943</id>
  </publisher>
  <publisher>
    <name>DEF</name>
    <id>3453</id>
  </publisher>

C#代码:

string publisher = n.SelectSingleNode(".//publisher//name").InnerText; Console.WriteLine(publisher + "\\n");

现在,这只会读ABC。 我该怎么做才能让它读到ABC,DEF? 出版商数量可能会有所不同..

publisher = n.SelectSingleNode(".//publisher//name").InnerText;
Console.WriteLine(publisher + "\n");

对于多个节点,请使用XmlNode.SelectNodes

XmlNodeList xnl = n.SelectNodes(".//publisher//name");

foreach(XmlNode xn in xnl)
{
    Console.WriteLine(xn.InnerText + "\n");
}

另一种方案:

publisher = n.SelectSingleNode("//publisher/name/text()");
Console.WriteLine(publisher + "\n");

此外,你不需要。 在xpath的开头。 “//”也会将您带到文档的根目录。

在回答第二个问题时,如果您只想要第一个“名称”,那么请使用此xpath:

//publisher/name[1]/text()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM