Ismétlődő XML-elemek közé tartozik az index
Ha Microsoft.Extensions.Configuration.Xml olyan XML-dokumentum olvasására szolgál, amely ismétlődő XML-elemeket tartalmaz attribútum nélkül Name
, az ezekkel az Configuration
ismétlődő elemekkel létrehozott bejegyzésekhez hozzá van fűzve egy index a konfigurációs útvonalukhoz.
Bevezetett verzió
.NET 6
Előző viselkedés
Vegye figyelembe az alábbi XML-kódrészleteket, amelyek megkülönböztető Name
attribútum nélkül jelenítik meg az ismétlődő elemeket.
<settings>
<Data ConnectionString="TestConnectionString" />
<Data Provider="MySql" />
</settings>
<configuration>
<Level1>
<Level2 Key1="Value1" />
<Level2 Key2="Value2" />
</Level1>
</configuration>
Az alábbi XML-fájlokból létrehozott konfigurációk a következők voltak:
Data:ConnectionString = TestConnectionString
Data:Provider = MySql
és
Level1:Level2:Key1 = Value1
Level1:Level2:Key2 = Value2
egyenként.
Új viselkedés
Az Előző viselkedés szakaszban az XML-fájlokból létrehozott konfigurációk a következők:
Data:0:ConnectionString = TestConnectionString
Data:1:Provider = MySql
és
Level1:Level2:0:Key1 = Value1
Level1:Level2:1:Key2 = Value2
egyenként.
A kompatibilitástörő változás típusa
Ez a változás befolyásolhatja a bináris kompatibilitást.
A változás oka
Ezt a módosítást azért vezettük be, hogy teljes mértékben támogassa az olyan ismétlődő XML-elemeket, amelyek nem rendelkeznek attribútummal Name
. Az előző viselkedés csak az ismétlődő elemek számára engedélyezett egyedi értékek beállítására (attribútumok vagy alelemek használatával). Ha az ismétlődő XML-elemek ugyanazzal az attribútummal rendelkeztek, kivétel történt.
Javasolt művelet
Az eredeti viselkedés eléréséhez frissítheti az XML-fájlt, hogy a két attribútumot ugyanabba az elembe csukja össze. Példa:
<configuration>
<Level1>
<Level2 Key1="Value1" Key2="Value2" />
</Level1>
</configuration>
Másik lehetőségként frissítheti a kódot úgy, hogy a kulcsokban az indexek (például 0, 1, 2) IConfiguration
várhatóak:
configRoot.GetSection("Level1:Level2")
Lesz
configRoot.GetSection("Level1:Level2:0")
Érintett API-k
- Microsoft.Extensions.Configuration.XmlConfigurationExtensions
- Microsoft.Extensions.Configuration.Xml.XmlStreamConfigurationProvider
- Microsoft.Extensions.Configuration.Xml.XmlConfigurationSource
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: