c# - 从根节点 XML 读取值

标签 c# visual-studio-2010 c#-4.0

我有这个 XML: A型:

 <?xml version="1.0" encoding="UTF-8"?>
 <nfeProc versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
 </nfeProc>

类型 B:

<?xml version="1.0" encoding="UTF-8"?>
<cancCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="1.04"> 
</cancCTe>

C 型:

<?xml version="1.0" encoding="UTF-8"?>
<cteProc xmlns="http://www.portalfiscal.inf.br/cte" versao="1.04">
</cteProc> 

我已经用这个读取了根节点:

 XmlDocument xmlDoc = new XmlDocument();
 xmlDoc.Load(nomear);
 XmlNodeList ml = xmlDoc.GetElementsByTagName("*");
 XmlNode primer = xmlDoc.DocumentElement;
 exti = primer.Name;  

通过这段代码,我读取了nfeProccancTEcteProc

如何读取 versao 的值?

最佳答案

因为您使用的是 C# 3.5 或更高版本,您可以利用 LINQ to XML(您的标签说您使用的是 C# 4.0,所以它当然适用)

//your xml contents. I've just escaped " symbols, so I can use it as literal
string str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n "+
                 "<nfeProc versao=\"2.00\" xmlns=\"http://www" +
                 ".portalfiscal.inf.br/nfe\">\r\n </nfeProc>";

var xml = XDocument.Parse(str);

Console.WriteLine(xml.Root.Attribute("versao").Value);

打印:

2.00

关于c# - 从根节点 XML 读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766006/

相关文章:

database - 如果我没有任何文档,我无法在 ravendb 中创建一个集合

c# - 部署项目未更新 .exe

c# - Web 服务的 WSDL 中禁止的 XML 架构构造

c# - 如何在 VS2010 中粘贴为评论?

visual-studio-2010 - 查看 Visual Studio 2010+ 中的所有断点

asp.net-mvc-2 - 我可以从 global.asax 重定向到 Controller 操作吗?

.net - 图和关系数据库

c# - Visual Studio 2012 c# 'code behind' 和默认 'event handler' 代码?它在 Snippets 中的哪个位置或其他地方?

c# - 了解枚举

c# - 使用AudioRender设备作为AudioGraph UWP的输入