Manual:XML Import file manipulation in CSharp/tr

Genel bakış
Bu sayfa, doğrudan ham XML ile çalışmak yerine nesne yönelimli programlama kullanarak MediaWiki XML'sini aktarım dosyası kodunda değiştirmek için MediaWiki şemasının Visual Studio .NET C# ile nasıl kullanılacağını gösterir.

Bunun bir kullanım örneği, bir wiki sitesinde değiştirilmesi gereken birkaç sayfanız olabilir. Bunu yapmanın bir yolu, bunları bir XML dosyasına vermek, ardından XML dosyasını değiştirmek ve XML dosyasını geri almaktır. Elbette, kullanıcıların dışa aktarma ve yeniden içe aktarma arasındaki süre boyunca bu dosyaları değiştiremediğinden emin olmalısınız. Orta düzeyde kullanımı olan siteler için bu yaklaşım uygun olabilir.

Şema
Aşağıdaki XML aktarım dosyasının bu kısaltılmış örneğinde gösterildiği gibi, XML dosyasının schemaLocation değeri https://www.mediawiki.org/xml/export-0.3.xsd konumunda:

İlk olarak, https://www.mediawiki.org/xml/export-0.3.xsd altında MediaWiki şemasını indirin. Şema dosyasını bir .NET proje klasörüne yerleştirin ve dosyayı MediaWikiExport.xsd gibi daha sezgisel bir şekilde yeniden adlandırmayı düşünün. Visual Studio.NET'in $xsd aracını kullanarak, bu VS.NET komut satırı istemini kullanarak bu şemayı temel alan bir .NET sınıfı dosyası oluşturabilirsiniz: Place the schema file in a .NET project folder, and consider renaming the file to something more intuitive such as MediaWikiExport.xsd. Using Visual Studio.NET's xsd.exe tool, you can generate a .NET class file based on this schema using this VS.NET command line prompt:

 xsd c:/inetpub/wwwroot/MyProject/MediaWikiExport.xsd /c

Bu komut MediaWikiExport.cs adlı bir sınıf dosyası oluşturur.

Sınıf Diyagramı
Otomatik oluşturulan Sınıf dosyası şu şekilde görünecektir:

Sınıf Diyagramı
Şema şöyle görünecektir:

.NET Projesi
Otomatik olarak oluşturulan yeni sınıf dosyanızı ekledikten sonra, dosyayı konsol projeniz gibi .NET projenize ekleyin.

Bu kod örneğinde, ham XML'yi ayrıştırmak yerine XML dosyasıyla nesne yönelimli bir şekilde çalışmanın örneklerini göreceksiniz. Aşağıdaki bu kod örneğinin MediaWiki'nin 1.13.2 sürümü için kullanıldığını unutmayın.

C# 3.0 version
Here's the same example using C# 3.0 features, including type inference and a lambda expression.