【发布时间】:2021-12-07 14:04:04
【问题描述】:
我将以下 XML 作为 XDocument 加载:
<?xml version="1.0" encoding="utf-8"?>
<europa3000_BASIC_DATA_CFG>
<Version>5.0.6.6</Version>
<Hash>555306</Hash>
<GROUP Key="Basic_Data1" Pos="1">
<Data Key="GeneralLedgerInterface" Pos="1">1</Data>
<Data Key="CollectivePostings" Pos="2">2</Data>
<Data Key="PostingDate" Pos="3">2</Data>
<Data Key="PostSalesExpenseNet" Pos="4">1</Data>
<Data Key="PostCreditNotesNeg" Pos="5">1</Data>
<Data Key="PostingZeroAmounts" Pos="6">1</Data>
<Data Key="BankDocumentNo" Pos="7">0</Data>
<Data Key="AmountRoundingNC" Pos="15">2</Data>
<Data Key="VATRoundingNC" Pos="17">2</Data>
<Data Key="PurchasePriceCalcType" Pos="21">1</Data>
<Data Key="PurchasePriceRounding" Pos="23">2</Data>
<Data Key="DefaultVATCode" Pos="41">00</Data>
<Data Key="DefaultInputTaxCode" Pos="42">00</Data>
<DATA_LIST Key="FlatRateSalesTax" Pos="48">
<List_Count>0</List_Count>
</DATA_LIST>
</GROUP>
<GROUP Key="M003" Pos="2">
<Data Key="MultipleWarehouses" Pos="1">0</Data>
<Data Key="OwnWarehouse" Pos="2">1</Data>
<Data Key="PassiveWarehous" Pos="6">0</Data>
</GROUP>
</europa3000_BASIC_DATA_CFG>
现在我想获取具有特定键-属性-值的后代数据元素的值。我试过了
var fieldname = "DefaultVATCode";
var ele = xdc.Descendants("europa3000_BASIC_DATA_CFG").Where(x => (string) x.Attribute("Key") == "Basic_Data1").Where(x => (string) x.Attribute("Key") == fieldname).FirstOrDefault();
其中 xdc 是 XDocument。
但我没有电车。有人可以帮助我,我做错了什么吗?谢谢。
【问题讨论】:
标签: c# xml linq-to-xml