Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 如何删除文件中第一行项目之后的所有行项目_Linq - Fatal编程技术网

Linq 如何删除文件中第一行项目之后的所有行项目

Linq 如何删除文件中第一行项目之后的所有行项目,linq,Linq,我需要从文件中删除不满足此要求的所有行项目: 行项目中的元素:和必须匹配,整数行项目编号中的另一个单词为10,管道线后的采购订单编号为10。我们只需要一个符合此要求的行项目。对不起,我真的不擅长描述 <Transmission> <InterchangeUsageIndicator V="T" /> <Groups> <Group> <GroupSenderID V="CCC" /> <To

我需要从文件中删除不满足此要求的所有行项目
: 行项目中的元素:
必须匹配,整数行项目编号中的另一个单词为10,管道线后的采购订单编号为10。我们只需要一个符合此要求的行项目。对不起,我真的不擅长描述

<Transmission>
  <InterchangeUsageIndicator V="T" />
  <Groups>
    <Group>
      <GroupSenderID V="CCC" />
      <TotalNumberOfShipmentsInGroup V="000005" />
      <Documents>
        <Document>
          <DocumentHeader>
            <InvoiceChargeType V="T" />
            <DocumentType V="ORDER" />
            <DocumentProcessingCode C="00" />
            <BOLNumber V="BOL2309460180582136" />
            <AlternateQuantities>
              <AlternateQuantity Quantity="12.0" UOM="PK" UOMType="SQ" Characteristic="" />
            </AlternateQuantities>
            <Buyer Name="" Q="ZP" ID="COUSPO001">
              <AlternateIDs />
            </Buyer>
            <Seller Name="" Q="2" ID="CNTR">
              <AlternateIDs />
            </Seller>
            <Parties>
              <Party PartyType="SF">
                <Name V="SHA" />
                <LocationID Q="" ID="" />
                <AlternateLocationIDs>
                  <LocationID Q="" ID="SHA" />
                </AlternateLocationIDs>
                <City V="Shanghai" />
                <Country V="CN" />
                <LocationPurpose V="" />
              </Party>
              <Party PartyType="ST">
                <Name V="LEB" />
                <LocationID Q="" ID="" />
                <AlternateLocationIDs>
                  <LocationID Q="" ID="LEB" />
                </AlternateLocationIDs>
                <City V="Lebanon" />
                <Country V="TN" />
                <LocationPurpose V="" />
              </Party>
              <Party PartyType="VN">
                <Name V="YANGZHOU BAOYI SHOES" />
                <LocationID Q="" ID="4100000423" />
                <AlternateLocationIDs />
                <City V="JIANGSU" />
                <Country V="CN" />
                <LocationPurpose V="" />
              </Party>
            </Parties>
            <DateReferences>
              <DR Type="D" Q="ETA" Date="2019-12-19" />
              <DR Type="D" Q="EST" Date="2019-11-28" />
            </DateReferences>
            <ReservedReferences>
              <RR Type="R" Q="K6" V="86|SEAL230946" />
              <RR Type="R" Q="V3" V="VYG230946|BKG230946" />
            </ReservedReferences>
          </DocumentHeader>
          <Vessel VesselName="VSL230946" VesselNumber="" VesselCountryOfRegistration="" VesselRegistrationNumber="" />
          <Equipments>
            <Equipment Initial="CNTR" Number="230946" Length="0" Type="" TotalContainerVolume="52.06" />
          </Equipments>
          <LineItems>
            <LineItem>
              <LineItemNumber V="00000000000000000010" />
              <LineItemType C="LI" />
              <TransportationServiceCode Code="" />
              <PurchaseOrderNumber V="0100230946|00010" />
              <AdditionalReferenceNumber V="" />
              <DescriptionMarksAndNumbers>
                <CommodityCode Q="" C="M9160" />
                <BuyerProductID V="" />
              </DescriptionMarksAndNumbers>
              <BilledRatedAsQuantity V="0.0" UOM="PA" />
              <LadingQuantity V="0.0" UOM="PA" />
              <LineItemTotalAmount V="0.0" />
              <LineItemWeight V="0.00" />
              <LineItemVolume V="0.00" />
            </LineItem>
            <LineItem>
              <LineItemNumber V="00000000000000900001" /> //this one would not work,because it is 900001
              <LineItemType C="LI" />
              <LineItemSubType C="SCH" />
              <TransportationServiceCode Code="" />
              <PurchaseOrderNumber V="0100230946|00010" />
              <AdditionalReferenceNumber V="" />
              <DescriptionMarksAndNumbers>
                <CommodityCode Q="" C="M9160" />
                <BuyerProductID V="" />
              </DescriptionMarksAndNumbers>
              <BilledRatedAsQuantity V="24.0" UOM="PA" />
              <LadingQuantity V="24.0" UOM="PA" />
              <LineItemTotalAmount V="0.0" />
              <UserDefinedReferences>
                <UDR Type="U" Q="CR" V="22859470896|001|0001" Description="" />
                <UDR Type="U" Q="S6" V="|3|20" Description="" />
                <UDR Type="U" Q="19" V="M9160|USDS|0001" Description="" />
              </UserDefinedReferences>
              <LineItemWeight V="2959.54" />
              <LineItemVolume V="104.12" />
            </LineItem>
            <LineItem>
              <LineItemNumber V="00000000000000900002" />
              <LineItemType C="LI" />
              <LineItemSubType C="SCH" />
              <TransportationServiceCode Code="" />
              <PurchaseOrderNumber V="0100230946|00010" />
              <AdditionalReferenceNumber V="" />
              <DescriptionMarksAndNumbers>
                <CommodityCode Q="" C="M9160" />
                <BuyerProductID V="" />
              </DescriptionMarksAndNumbers>
              <BilledRatedAsQuantity V="24.0" UOM="PA" />
              <LadingQuantity V="24.0" UOM="PA" />
              <LineItemTotalAmount V="0.0" />
              <UserDefinedReferences>
                <UDR Type="U" Q="CR" V="22859470902|001|0002" Description="" />
                <UDR Type="U" Q="S6" V="|3.5|20" Description="" />
                <UDR Type="U" Q="19" V="M9160|USDS|0001" Description="" />
              </UserDefinedReferences>
              <LineItemWeight V="2959.54" />
              <LineItemVolume V="104.12" />
            </LineItem>

我相信您想删除所有
LineItem
where
LineItemNumber=管道后面的10
采购订单号不等于10
。您可以使用
Linq
筛选与目的匹配的元素,并使用
Remove
方法删除所选节点

var xDoc = XDocument.Parse(xml);
xDoc.Descendants("LineItem") 
    .Where(x=> Convert.ToInt32(x.Element("LineItemNumber").Attribute("V").Value)!=10 
            && Convert.ToInt32(x.Element("PurchaseOrderNumber").Attribute("V").Value.Split('|')[1])!=10
           ).Remove();
var result = xDoc.ToString();
var xDoc = XDocument.Parse(xml);
xDoc.Descendants("LineItem") 
    .Where(x=> Convert.ToInt32(x.Element("LineItemNumber").Attribute("V").Value)!=10 
            && Convert.ToInt32(x.Element("PurchaseOrderNumber").Attribute("V").Value.Split('|')[1])!=10
           ).Remove();
var result = xDoc.ToString();