سؤال

أنا أستخدم مدير التكوين لتخزين الإعدادات في تطبيق C#.لدي بعض الإعدادات الفردية ولدي مجموعة متنوعة من الإعدادات.

يبدو تكوين XML كما يلي:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
  <appSettings>
    <add key="Option" value="Tabbed" />
    <add key="Version" value="0.0.0.0" />
    <Tee1>
      <add key="Name" value="Test1" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58323" />
      <add key="AutoConnect" value="True" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee1>
    <Tee2>
      <add key="Name" value="Test2" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58324" />
      <add key="AutoConnect" value="True" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee2>
    <Tee3>
      <add key="Name" value="Test3" />
      <add key="IPAddress" value="localhost" />
      <add key="Port" value="58325" />
      <add key="AutoConnect" value="False" />
      <add key="Link" value="True" />
      <add key="Link" value="False" />
    </Tee3>
    <Tee4 />
    <Tee5 />
    <Tee6 />
    <Tee7 />
    <Tee8 />
    <Tee9 />
    <Tee10>
      <add key="Name" value="Test10" />
      <add key="IPAddress" value="127.0.0.1" />
      <add key="Port" value="58332" />
      <add key="AutoConnect" value="False" />
      <add key="Link" value="False" />
      <add key="Link" value="False" />
    </Tee10>
  </appSettings>
</configuration>

تعتبر إدخالات Tee التي لا تحتوي على بيانات عناصر فارغة.

عندما أقوم بتحميل نص XML الذي تم إنشاؤه في محرر Visual Studio 2010، يظهر خطأ في TEE1.

"يحتوي العنصر "appSettings" على عنصر فرعي غير صالح "Tee1".قائمة العناصر المحتملة المتوقعة:'اضف احذف.واضح'."

كيف يجب أن أمثل مجموعة من العناصر المتشابهة؟

هل كانت مفيدة؟

المحلول

يمكنك تخزين فقط key=value الإعدادات في <appSettings>.إذا كنت تريد شيئًا أكثر ثراءً، فستحتاج إلى كتابة معالج قسم تكوين مخصص.

انظر على سبيل المثال:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top