我有一个读取Xml文件的代码,并且我的InvoiceLine列表中包含发票行。我的问题是,当我使用SelectSingleNode并搜索特殊的cbc:ID标记时,它将为我带来DOCUMENT中的第一个cbc:ID标记,该标记不在XmlElement内。我想知道这怎么可能以及如何更改代码,使其仅在元素内部读取。谢谢。
XmlNodeList elemList = root.GetElementsByTagName("cac:InvoiceLine");
XmlNodeList SatirdakiIskontoList;
Logoveri.logo_satirsayisi = elemList.Count.ToString(); //faturadaki satır sayısı
XmlNode satirno1,urunadi,urunkodu,urunmiktari,uruntutari;
string satirno;
foreach (XmlElement e in elemList)
{
LOGOSatirVeri Logosatirveri = new LOGOSatirVeri();
// Logosatirveri = new LOGOSatirVeri();
Logosatirveri.logo_uuid = Logoveri.logo_uuid;
try
{
//MALZEME-HİZMET ADI
satirno = e.SelectSingleNode("//*[name()='cac:InvoiceLine']/*
[name()='cbc:ID']").InnerText;
Logosatirveri.logo_satirno = satirno;
}
}
它应该向我发送行号为1,2,3 ...的行的ID,但它会带给我整个发票的ID,该ID在我的元素之外。
[就像查理(Charleh)指出的,这是//
将“ try”代码更改为以下内容。
try
{
//MALZEME-HİZMET ADI
satirno = e.SelectSingleNode("*[name()='cac:InvoiceLine']/*[name()='cbc:ID']").InnerText;
Logosatirveri.logo_satirno = satirno;
}