识别XML中的某个节点

时间:2010-01-18 11:56:07

标签: c# xml vb.net dataset

<enviNFe versao="1.10">
  <idLote>000000000000094</idLote> 
  <NFe>
    <infNFe Id="NFe35090254517628000198550010000000011870030005" versao="1.10">
    <!-- ... content ... -->
    </infNFe>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <!-- ... content ... -->
    </Signature>
  </NFe>
</enviNFe>

我有这个XML文件,我如何获得ID属性?这个问题不是关于“如何在xml中获取属性”,我找到了几个解决方案,但不知怎的,我无法解决这个特定节点中的这个特定属性。

我可以在“infNF”内的表格中获取信息,然后将其加载到数据集中并使用以下代码:

ds.Tables(Table).Rows(row)(node)

是否有类似的方法来做我想要获得的属性?

(你可以用C#或VB.NET回答)

3 个答案:

答案 0 :(得分:1)

你试过XQuery吗?

 var node = element.SelectSingleNode("//infNFe[@id='...']")

根据XML的外观,你似乎正在处理巴西的NFe,对吗?


已编辑添加

您可以找到有关XQuery here的更多信息。

一旦你通过括号......你会发现它很简单。

答案 1 :(得分:0)

如果您有.Net 3.5,请使用linq查看How to select a specific node with LINQ-to-XML

答案 2 :(得分:0)

ds.Tables("infNFe").Rows(0).Item(2)

这就是我用过的东西,谢谢你们!