当我对我的 XmlElement 使用 SelectSingleNode 方法时,它仍然读取整个文档而不是我的元素内部

When I use SelectSingleNode Method with my XmlElement It Still Reads the Whole Document and Not Inside My Element

我有一个读取 Xml 文件的代码,并且我有一个 InvoiceLine 列表,其中包含发票行。我的问题是,当我使用 SelectSingleNode 并搜索特定的 cbc:ID 标签时,它给我带来了 DOCUMENT 中的第一个 cbc:ID 标签,它不在我的 XmlElement 中。我想知道这怎么可能以及如何更改我的代码以便它只在我的 element.Thanks.

中读取
     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;
                    }
          }

它应该告诉我行的 ID 为 1,2,3... 但它给我带来了我元素之外的整个发票的 ID。

就像 Charleh 指出的那样,它是 //

将您的 "try" 代码更改为以下内容。

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

    }