XML dosyalarını kullanarak bazı uygulama verilerini kaydetmeye karar verdim. XML dosyalarına çok yeni geldim, bu yüzden benimle kal.VB.NET: XML Dosyasından Birden Çok Özellik ve Tablo Oku
amacı nedir: Ben birkaç soru var
<?xml version="1.0" encoding="utf-8"?> <config> <name>testConfigName</name> <type>testConfigType</type> <DocumentElement> <inputs> <inputName>testInputName1</inputName> <inputValue>testInputValue1</inputValue> </inputs> <inputs> <inputName>testInputName2</inputName> <inputValue>testInputValue2</inputValue> </inputs> </DocumentElement> <DocumentElement> <outputs> <outputName>testOutputName1</outputName> <outputValue>testOutputValue1</outputValue> </outputs> </DocumentElement> </config>
: Böyle bir dosyada
Public Class config Public Property name As String Public Property type As String Public Property inputsTable As DataTable Public Property outputsTable As DataTable Public Sub WriteXML(filePath As String) Using writer As XmlWriter = XmlWriter.Create(filePath) writer.WriteStartDocument() writer.WriteStartElement("config") writer.WriteElementString("name", Me.name) writer.WriteElementString("type", Me.type) Me.inputsTable.WriteXml(writer) Me.outputstable.WriteXml(writer) writer.WriteEndElement() writer.WriteEndDocument() End Using End Sub End Class
WriteXml alt sonuçları:
Böyle bir sınıf) var XML dosyasındaki "kök düğümü" Burada kodumun çalışmasını sağlamak için bir node "config" oluşturdum, ama ben gerçekten neden gerekli olduğunu anlamıyorum.
WriteStartDocument/WriteEndDocument gerekli mi?
Bu dosyayı yeniden uygulamamın içine nasıl uygulayabilirim? Özellikle tabloları çıkartmakta zorlanıyorum. Kullandığım tek unsurları dışarı almak mümkün:
Using reader As XmlReader = XmlReader.Create(filePath) While reader.Read() Select Case reader.NodeType Case XmlNodeType.Element Select Case reader.Name Case "name" name = reader.ReadElementContentAsString() Case "type" type = reader.ReadElementContentAsString() End Select End Select End While End Using
ama bu nasıl birleştirileceğini (veya eğer mümkünse) bilmiyorum:
inputsTable.ReadXml(reader) outputsTable.ReadXml(reader)
O ReadXml gibi görünüyor may Aslında yapmaya çalıştığım şey için çalışmaz (belirli tabloları okuyarak) ve basit tek masalı XML yapıları içindir, ancak bunu kesin olarak doğrulayamadım.
Herhangi bir yardım büyük takdir edilecektir!
Aksine bir özellik Ignore nasıl kod sadece birkaç satır içinde '(Config'in) bütün bir' Listesini yük/kaydetmek – Plutonix
onu misiniz Bir örnek vermek/vermek mümkün mü? Kısaca serileştirme sürecine baktım ama bulduğum şey aslında XmlReader/XmlWriter'den daha karmaşık görünüyordu, ama kesinlikle tekrar gözden geçirmekti. – Kevin
[Sınıf başka bir sınıfın listesini devralıyorken] (http://stackoverflow.com/a/23523553/1070452) başlığı yanıltıcı – Plutonix