Идентификация определенного узла в XML - PullRequest
0 голосов
/ 18 января 2010
<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, как мне получить атрибут идентификатора?этот вопрос не о том, «как получить атрибуты в XML», я нашел несколько решений, но почему-то я не могу обратиться к этому конкретному атрибуту в этом конкретном узле.

я могу получить информацию внутри таблиц, которыенаходятся в "infNF", и я загружаю его в набор данных и использую этот код:

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

Есть ли аналогичный способ сделать то, что я хочу получить этот атрибут?

(Вы можете ответить либо в C # или VB.NET)

Ответы [ 3 ]

1 голос
/ 18 января 2010

Вы пробовали XQuery?

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

И, судя по XML, вы имеете дело с бразильским NFe, верно?


Отредактировано для добавления

Вы можете узнать больше о XQuery здесь .

Как только вы выйдете за скобки ... вы увидите, что это довольно просто.

0 голосов
/ 18 января 2010
ds.Tables("infNFe").Rows(0).Item(2)

Это то, что я использовал, спасибо, ребята!

0 голосов
/ 18 января 2010

Если у вас есть .Net 3.5, используйте linq, см. Как выбрать определенный узел с LINQ-to-XML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...