【问题标题】:Reading a value from root node XML从根节点 XML 读取值
【发布时间】:2013-04-02 13:56:17
【问题描述】:

我有这个 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# visual-studio-2010 c#-4.0


    【解决方案1】:

    当您使用 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
    

    【讨论】:

    • LINQ to XML 从 .NET 3.5 开始可用,而不是 4
    • @elmugrat 是的,当然,他刚刚在标签中提到了C#-4,所以他可以在 .net 4 中使用它。
    • 没错,但很容易将您的第一句话误读为“如果您使用的是 C# 4.0”...我知道我做到了 ;)
    【解决方案2】:
    【解决方案3】:

    这是代码:

    string attribute = primer.Attributes["versao"].Value;
    

    【讨论】:

      【解决方案4】:

      试试这个

      primer.Attributes["versao"].Value
      

      您可能还会发现这很有帮助:

      System.Xml.Linq.XDocument doc = System.Xml.Linq.XDocument.Load("PATH TO YOUR .XML");
      string value = doc.Element("nfeProc").Attribute("versao").Value;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        相关资源
        最近更新 更多