特定の子ノードをテキストボックスに読み込む必要がありますが、親ノード内に子ノードとして構成されています。C#XML子ノードをテキストボックスにロード
XML構造:XMLSインサイド
<nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<det nItem="1">
<prod>
<cProd>09</cProd>
<cEAN />
<xProd>CHAPEU DE PALHA SOBRAL</xProd>
</prod>
<imposto>
<vTotTrib>30.23</vTotTrib>
<ICMS>
<ICMSSN101>
<orig>0</orig>
<CSOSN>101</CSOSN>
<pCredSN>2.5600</pCredSN>
<vCredICMSSN>2.46</vCredICMSSN>
</ICMSSN101>
</ICMS>
</imposto>
</det>
</protNFe>
</nfeProc>
は、さまざまなノードが存在します。それぞれの場合、いくつかのデータをロードする必要があります。私のコードは、これまでのところです:
XmlNodeList xndet = xml.GetElementsByTagName("det");
foreach (XmlNode xn in xndet)
{
string cProd = xn.SelectSingleNode("/prod/cProd").InnerText.ToString();
txCPROD.Text = cProd;
string vCredICMSSN = xn.SelectSingleNode("/imposto/ICMS/ICMSSN101/vCredICMSSN").InnerText.ToString();
txICMSSN.Text = vCredICMSSN;
// do other things...
}
エラーが発生し、ここで:
"string cProd = xn.SelectSingleNode("/prod/cProd").InnerText.ToString();
私のロジックがxnノード内の文字列がcProd要素の内部テキストを受け取ることを言います。
しかし、私はタイプの未処理の例外「System.NullReferenceException」の
なぜあなたはあなたが必要とするすべては一つのノードであるときのforeachを使用して、すべてのノード上で実行されていますか? –
さまざまなノードがあります...私は例を減らすために1つだけ置いています。 –
名前空間を指定します。 –