C# XML selectnode不工作
我有下面的XML,想要得到下面的标记值chNFe代码,但没能抓住他。总是零C# XML selectnode不工作,c#,.net,xml,C#,.net,Xml,我有下面的XML,想要得到下面的标记值chNFe代码,但没能抓住他。总是零 var doc = new XmlDocument(); doc.PreserveWhitespace = false; doc.LoadXml(_documento.DocumentoAtual.ToString()); var temp = doc.SelectSingleNode("envEvento"); foreach (XmlNode nodePrincipal in doc.SelectNodes("e
var doc = new XmlDocument();
doc.PreserveWhitespace = false;
doc.LoadXml(_documento.DocumentoAtual.ToString());
var temp = doc.SelectSingleNode("envEvento");
foreach (XmlNode nodePrincipal in doc.SelectNodes("envEvento/evento/infEvento"))
{
var tipo = nodePrincipal.SelectSingleNode("chNFe").InnerText;
}
XML文件:
<?xml version="1.0" encoding="utf-8" ?>
- <envEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<idLote>1</idLote>
- <evento versao="1.00">
- <infEvento Id="ID1101115113128096780500014865100000000033100010026101">
<cOrgao>42</cOrgao>
<tpAmb>2</tpAmb>
<CNPJ>80967805000148</CNPJ>
<chNFe>51131280967805000148651000000000331000100261</chNFe>
<dhEvento>2013-12-03T09:54:44-03:00</dhEvento>
<tpEvento>110111</tpEvento>
<nSeqEvento>1</nSeqEvento>
<verEvento>1.00</verEvento>
- <detEvento versao="1.00">
<descEvento>Cancelamento</descEvento>
<nProt>151130000040738</nProt>
<xJust>Cancelamento de nota</xJust>
</detEvento>
</infEvento>
- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
- <Reference URI="#ID1101115113128096780500014865100000000033100010026101">
- <Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>7lcMMEETJPn6plzSmpSuodbBDx8=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>KJVQK7iHS18mgkXkUGJJsVr6yL2yl39nQjw8A9XPn7UhVhnv2q0jjRifs6r4IdBxpCZMifqbkPHpxS+1tVTQGUTmTcGxOYJIBed37c3vuy88yzpv7465UgV8iA16KzUezGrSMiaItOrWFe0nzjOumD1tHJx85awGNSoPtEucqbRS8ofV4I0/7CW/ewV42reoW4miIci5ft8zzPA9hE4Mf934mHfAPgdJqrtVxypPgok+Tl6ED7PxfKHJyncnw78EECbZzBrlFS3bM4wVKp+LEJNzC/aUYO2BtDn2NKRhxXR1vPM/x47sZd1XQZUXRIqsNFTMB59fgCgeLunoVLif+w==</SignatureValue>
- <KeyInfo>
- <X509Data>
<X509Certificate>/X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</evento>
</envEvento>
-
1.
-
-
42
2.
80967805000148
51131280967805000148651000000000331000100261
2013-12-03T09:54:44-03:00
110111
1.
1
-
坎塞拉门托
151130000040738
德诺塔取消酒店
-
-
-
-
7lcMMEETJPn6plzSmpSuodbBDx8=
(2)在一份研究报告中,一份研究报告中提出了一份研究报告。一份研究报告中提出了一份研究报告。一份研究报告。一份研究报告。一份研究报告。一份研究报告。一份研究报告中,一份文文文文中给出了一份研究报告。一份研究报告中,一份研究,一份研究,一份研究。一份研究报告。一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,一份研究,NFTMB59FGCGELUNOVLIF+w==
-
-
/X509证书>
编辑问题在于您在文档中指定了名称空间:
XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable);
ns.AddNamespace("nspace", "http://www.portalfiscal.inf.br/nfe");
foreach (XmlNode nodePrincipal in doc.SelectNodes("//nspace:envEvento//nspace:evento//nspace:infEvento", ns))
{
var tipo = nodePrincipal.SelectSingleNode("nspace:chNFe", ns).InnerText;
}
对不起,就像你说的那样。。。甚至没有进入foreach@marlon.tiedt,我编辑了我的答案。这将选择您的目标值。还请检查您的XML是否正确。请在
/X509Certificate>
上检查您的XML。它漏掉了一个“