当我将SelectSingleNode方法与XmlElement一起使用时,它仍会读取整个文档,而不是在我的元素内

问题描述 投票:1回答:1

我有一个读取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在我的元素之外。

c# xml xmldocument selectsinglenode
1个回答
1
投票

[就像查理(Charleh)指出的,这是//

将“ try”代码更改为以下内容。

    try
    {
      //MALZEME-HİZMET ADI
      satirno = e.SelectSingleNode("*[name()='cac:InvoiceLine']/*[name()='cbc:ID']").InnerText;
      Logosatirveri.logo_satirno = satirno;

    }
© www.soinside.com 2019 - 2024. All rights reserved.